Beispiel #1
0
        public async Task <string> GetJsonDataSource()
        {
            var jsonfilename = await StorageDataHelper.GetJsonFileNameFromMusicLibraryAsync(RootFolder, JsonLocalFileName);

            if (string.IsNullOrEmpty(jsonfilename))
            {
                Uri        dataUri = new Uri(JsonDataUri);
                HttpClient client  = new HttpClient();

                using (var response = await client.GetAsync(dataUri))
                {
                    var json = await response.Content.ReadAsStringAsync();

                    await StorageDataHelper.writeTextToSDCard(RootFolder, JsonLocalFileName, json);

                    return(json);
                }
            }
            else
            {
                // read from sd card
                var json = await StorageDataHelper.readTextFromSDCard(RootFolder, JsonLocalFileName);

                return(json);
            }
        }
Beispiel #2
0
        private async Task <string> DownloadAudioFile()
        {
            var pronunciation = "";

            switch (AudioType)
            {
            case Mp3Type.Unknown:
                pronunciation = "am_";
                break;

            case Mp3Type.American:
                pronunciation = "am_";
                break;

            case Mp3Type.English:
                pronunciation = "";
                break;

            default:
                pronunciation = "am_";
                break;
            }

            var part  = bookTextKey.Substring(0, bookTextKey.LastIndexOf("-"));
            var part2 = bookTextKey.Substring(bookTextKey.LastIndexOf("-") + 1);
            //http://f1.w.hjfile.cn/doc/touch_m/nce/3-41-50/am_yuanwen_42.mp3
            //http://f1.w.hjfile.cn/doc/touch_m/nce/3-41-50/yuanwen_42.mp3
            var downloadUriString = string.Format("http://f1.w.hjfile.cn/doc/touch_m/nce/{0}/{1}yuanwen_{2}.mp3",
                                                  part, pronunciation, part2);
            var fileName = getAudioFileName;

            var file = await StorageDataHelper.GetAudioFileFromMusicLibraryAsync("WP.NCE", fileName);

            if (string.IsNullOrEmpty(file))
            {
                var filefullname = await StorageDataHelper.DownloadAudioFileToMusicLibraryAsync(downloadUriString, "WP.NCE", fileName);

                return(filefullname);
            }

            return(file);
        }
Beispiel #3
0
        private async void PlayAppBarButton_Click(object sender, RoutedEventArgs e)
        {
            bool failed = false;

            try
            {
                await Helper.ShowSystemTrayAsync(Colors.CornflowerBlue, Colors.White, text : "loading audio...");

                var file = await StorageDataHelper.GetAudioFileFromMusicLibraryAsync("WP.NCE", getAudioFileName);

                if (MediaPlayerState.Playing == BackgroundMediaPlayer.Current.CurrentState)
                {
                    if (!string.IsNullOrEmpty(file))
                    {
                        string[] fileInfo = new[] { bookTitle, file, bookTextKey, "autoplay" };
                        var      message  = new ValueSet
                        {
                            {
                                "samePause-notPlay",
                                fileInfo
                            }
                        };
                        BackgroundMediaPlayer.SendMessageToBackground(message);

                        await Helper.HideSystemTrayAsync(originbackgroundColor, originforegroundColor, originopacity);
                    }
                }
                else if (MediaPlayerState.Paused == BackgroundMediaPlayer.Current.CurrentState)
                {
                    if (!string.IsNullOrEmpty(file))
                    {
                        string[] fileInfo = new[] { bookTitle, file, bookTextKey, "autoplay" };
                        var      message  = new ValueSet
                        {
                            {
                                "samePlay-notPlay",
                                fileInfo
                            }
                        };
                        BackgroundMediaPlayer.SendMessageToBackground(message);
                        await Helper.HideSystemTrayAsync(originbackgroundColor, originforegroundColor, originopacity);
                    }
                }
                else if (MediaPlayerState.Closed == BackgroundMediaPlayer.Current.CurrentState)
                {
                    if (!string.IsNullOrEmpty(file))
                    {
                        string[] fileInfo = new[] { bookTitle, file, bookTextKey, "autoplay" };
                        var      message  = new ValueSet
                        {
                            {
                                "Play",
                                fileInfo
                            }
                        };
                        BackgroundMediaPlayer.SendMessageToBackground(message);

                        await Helper.HideSystemTrayAsync(originbackgroundColor, originforegroundColor, originopacity);
                    }
                }
            }
            catch
            {
                failed = true;
            }

            if (failed)
            {
                await Helper.HideSystemTrayAsync(originbackgroundColor, originforegroundColor, originopacity);
            }
        }