- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在通过构建一个简单的媒体播放器来学习C#/WPF/MVVM。我在MainViewModel中使用ICollectionView作为播放列表。我为中介元素构建了一个单独的用户控件,其中带有一些代码来处理音量,位置,时间轴(http://www.codeproject.com/KB/smart/RSSVideoReader.aspx)。我知道MVVM的目标之一是消除后台代码,但是WPF中介元素是唯一的。我现在正试图弄清楚如何获取代码背后的mediaelement的MediaEnded事件,以告诉MainViewModel的ICollectionView移至MoveCurrentToNext。
此代码失败:
主 View 模型
public void GoNext()
{
this.collectionView.MoveCurrentToNext();
}
private void mPlayDefault_MediaEnded(object sender, RoutedEventArgs e)
{
mPlayDefault.Stop();
this.GoNext();
}
最佳答案
这是我能想到的最好的方法:
在ViewModel内部:
public ICommand PlayCommand
{
get
{
if (_playCommand == null)
_playCommand = new RelayCommand(player => this.play(player), param => this.canPlay);
return _playCommand;
}
}
void play(object player)
{
if (_player == null)
{
_player = (MediaElement)player;
_player.MediaEnded += new RoutedEventHandler((s, e) =>
{
if (canPlayNext)
playNext();
});
}
_player.Play();
}
关于c# - 如何使用MVVM媒体元素移至下一首歌曲,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7587982/
我是 Android 编程的新手,我正在尝试制作一个简单的媒体播放器应用程序,该应用程序可以从用户的 SD 卡中提取歌曲并使用户能够播放歌曲。我面临的问题是,当一首歌正在播放时,如果用户点击其他歌曲,
使用 AVAudioPlayer 我们可以使用这种方法循环播放多首歌曲: - (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player suc
这是一道系统设计题。 假设我们有一个服务可以在听到歌曲时通知我们。让我们设计一个新服务,它能够返回过去 24 小时内听得最多的前 K 首歌曲。假设我们有大约 10 亿首歌曲和大约 2 亿用户。 将您的
由于我是 Flash CS6 actionscript 3 的新手,有人可以具体地举一个详细的例子,向我解释一下如何向我的播放器添加 2 首歌曲,并且仍然使用当前的播放和暂停按钮来控制它们吗? 非常感
我是一名优秀的程序员,十分优秀!