使用存储文件夹播放 .mp3 UWP

Posted

技术标签:

【中文标题】使用存储文件夹播放 .mp3 UWP【英文标题】:Play .mp3 UWP with storage Folder 【发布时间】:2018-12-10 12:33:21 【问题描述】:

我想做一个小项目。就像一个带有工作笑话的音板。但我无法在 UWP 中播放声音。我发现了这个:

private async System.Threading.Tasks.Task Button_ClickAsync(object sender, RoutedEventArgs e)
        

            MediaElement PlayMusic = new MediaElement();
            PlayMusic.AudioCategory = Windows.UI.Xaml.Media.AudioCategory.Media;
            StorageFolder Folder = Windows.ApplicationModel.Package.Current.InstalledLocation;
            Folder = await Folder.GetFolderAsync("folder");
            StorageFile sf = await Folder.GetFileAsync("song.mp3");
            PlayMusic.SetSource(await sf.OpenAsync(FileAccessMode.Read), sf.ContentType);
            PlayMusic.Play();
        `

但我不知道我必须把声音放在哪里。 我已经尝试过 Assets 文件夹,但它没有用。 我是新手,很抱歉我的英语不好。

【问题讨论】:

【参考方案1】:

您可以使用 FileOpenPicker 选择要播放的文件,也可以将文件放在 assets 文件夹中并使用 uri 访问。在下面添加了两个示例代码 sn-p

//从文件播放

private async void PlayFromFile(object sender, RoutedEventArgs e)
    
        //Play from file
        FileOpenPicker openPicker = new FileOpenPicker();
        openPicker.ViewMode = PickerViewMode.Thumbnail;
        openPicker.FileTypeFilter.Add(".m4p");
        openPicker.FileTypeFilter.Add(".mp3");
        var sf = await openPicker.PickSingleFileAsync();
        MediaPlayer mediaPlayer = new MediaPlayer();
        mediaPlayer.Source = MediaSource.CreateFromStorageFile(sf);
        mediaPlayer.Play();           
    

//从assets文件夹播放

 private void PlayFromAssetsFolder(object sender,RoutedEventArgs e)
    
        //Play from assets folder
        MediaPlayer mediaPlayer = new MediaPlayer();
        mediaPlayer.Source = MediaSource.CreateFromUri(new Uri("ms-appx:///Assets/audio.mp3"));
        mediaPlayer.Play();
    

【讨论】:

我如何为不同的按钮播放不同的音频? 将文件保存在 assets 文件夹中,并将 uri 放在 listviewitem 的 Tag 中。在按钮上接收它单击播放特定的 uri 如果您想播放多个音频文件,请提及。 见Background media playback sample。即使应用不再在前台,它也可以播放歌曲或视频集。

以上是关于使用存储文件夹播放 .mp3 UWP的主要内容,如果未能解决你的问题,请参考以下文章

使用uwp实现一个简单的媒体播放器

无法使用 AVAudioPlayer 播放存储在文档目录中的本地 mp3 文件

从 Firebase 存储下载并播放 .mp3 文件到内存

最小化或锁定时继续播放 Audiograph UWP 输出

我的网络应用程序用户如何单击按钮来播放本地存储的 mp3 文件?

Ionic 媒体插件无法在 iOS 上播放本地存储的 mp3 文件