【问题标题】:How to enable shuffle mode in UWP MediaPlayer如何在 UWP MediaPlayer 中启用随机播放模式
【发布时间】:2020-10-08 23:25:29
【问题描述】:

我正在使用MediaPlayerMediaPlaybackList 在我的应用程序中播放mp3 文件。

播放列表定义如下:

SongList = new MediaPlaybackList
{
    AutoRepeatEnabled = true,
    ShuffleEnabled = true
};

SongList 包含 3 首歌曲。

我使用此代码播放音乐:

private MediaPlayer mPlayerMusic = new MediaPlayer();
mPlayerMusic.Source = SongList;
mPlayerMusic.Play();

每次运行时,都会播放相同的歌曲!随机播放似乎不起作用。自动重复确实有效,第一首歌曲在最后一首之后播放,但没有随机播放!

我在这里做错了什么?

【问题讨论】:

    标签: c# uwp media-player


    【解决方案1】:

    如果要以随机播放的方式播放mp3文件,则需要删除SongList= new MediaPlaybackList{…}语句中的ShuffleEnabled=true语句,并在mPlayerMusic.Source = SongList;语句上方添加语句SongList.ShuffleEnabled = true;。像这样:

    SongList = new MediaPlaybackList()
    {
        AutoRepeatEnabled = true
    };
    

    SongList 包含 3 首歌曲。

    使用此代码播放音乐:

    private MediaPlayer mPlayerMusic = new MediaPlayer();
    
    SongList.ShuffleEnabled = true;
    mPlayerMusic.Source = SongList;
    mPlayerMusic.Play();
    

    注意,尝试将四首歌曲填充到 SongList 中,声明 SongList= new MediaPlaybackList{…} 中的声明 ShuffleEnabled=true 可能有效。

    【讨论】:

    • 修复了它,但它与我所知道的面向对象编程的一切背道而驰!你能解释一下为什么会这样吗?我是否将对象的属性设置为声明的一部分或稍后设置,应该没有任何区别。我很困惑!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 2023-03-31
    相关资源
    最近更新 更多