You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WinUI 3桌面应用中实现4首歌曲循环播放列表功能求助

WinUI3 桌面应用实现多首歌曲循环播放列表

核心方案:使用 MediaPlaybackList

要实现多首歌曲的循环播放列表,核心是用MediaPlaybackList类管理播放队列,它原生支持列表级别的循环、顺序播放等逻辑,比手动监听单首播放完成再切换更可靠。

实现步骤与代码示例

  1. 创建播放列表并配置循环模式
    实例化MediaPlaybackList,设置LoopMode为MediaPlaybackLoopMode.All,让整个播放列表循环播放。
  2. 添加歌曲到播放列表
    为每首歌曲创建MediaSource,并添加到播放列表的Items集合中。
  3. 关联播放列表到MediaPlayer
    将MediaPlayer的Source设置为创建好的播放列表,启动播放即可。

完整代码示例:

// 初始化MediaPlayer
mediaPlayer = new MediaPlayer();

// 创建播放列表并设置循环模式(整个列表循环)
var playbackList = new MediaPlaybackList();
playbackList.LoopMode = MediaPlaybackLoopMode.All;

// 添加4首歌曲到播放列表(替换为你的实际歌曲URI)
playbackList.Items.Add(MediaSource.CreateFromUri(new Uri("https://example.com/song1.mp3")));
playbackList.Items.Add(MediaSource.CreateFromUri(new Uri("https://example.com/song2.mp3")));
playbackList.Items.Add(MediaSource.CreateFromUri(new Uri("https://example.com/song3.mp3")));
playbackList.Items.Add(MediaSource.CreateFromUri(new Uri("https://example.com/song4.mp3")));

// 将播放列表设置为MediaPlayer的源
mediaPlayer.Source = playbackList;

// 开始播放
mediaPlayer.Play();

关键说明

  • MediaPlaybackLoopMode枚举:
    • None:播放完列表最后一首后停止
    • One:循环播放当前选中的单首歌曲(和你之前的单首循环逻辑一致)
    • All:循环播放整个列表(满足你的需求)
  • 额外控制:你还可以通过playbackList.CurrentItemIndex切换当前播放的歌曲,或监听CurrentItemChanged事件获取播放进度变化。

内容的提问来源于stack exchange,提问作者Sourabh Singh

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.22 22:57:27