我有一个PlayList加载到我的WMP实例中,我希望它只循环一首歌曲。到目前为止,我在谷歌上搜索到的所有内容都告诉我要这样做:
private AxWindowsMediaPlayer wmp;
wmp.settings.setMode("loop", true);然而,这似乎只是让整个PlayList重复。我想要的行为是,如果我在播放PlayList中的歌曲5时启用了" repeat“,那么歌曲5将在结束时自动重复(而不是继续播放到歌曲6)。大多数汽车MP3播放器已经这样工作了;在我的C#程序中有没有一种很好的本地方法来做到这一点,或者我是否必须设计一个“黑客”解决方案,比如截获在加载下一首歌曲时触发的事件?
发布于 2010-04-07 20:29:43
尝试创建一个仅包含一首要反复播放的歌曲的新歌曲集。
发布于 2013-12-30 16:40:27
这是我的方法。对于我的播放列表,我创建了一个类型为IWMPMedia的静态通用列表,而不是使用WMPLib播放列表。这使我能够毫无困难地将歌曲添加到我的播放列表中,因为通用列表跟踪所有歌曲。因此,为了重复一首歌曲,我所做的是获取播放列表中当前正在播放的歌曲的当前索引,并将其设置为一个整数,然后我执行如下操作:
int repeatSongIndex = index;//in this case, our index is the current song playing
player.URL = playlist[repeatSongIndex].sourceURL;//lets have player.URL point to the song object chosen to be repeated to its source url (the directory of the file).
bool isRepeat = true;//to keep track of whether the repeat option is enabled or not.发布于 2010-04-07 20:29:19
您可以不处理PlayStateChange事件并检测何时为当前音轨设置了MediaEnded状态,然后倒回它吗?
https://stackoverflow.com/questions/2592286
复制相似问题