试图让我的播放按钮与我的暂停按钮和谐地工作

Posted

技术标签:

【中文标题】试图让我的播放按钮与我的暂停按钮和谐地工作【英文标题】:Trying to get my play button to work harmoniously with my pause button 【发布时间】:2017-04-04 17:34:52 【问题描述】:

我已经开发 C# 音乐播放器几个月了,还没有使用内置的播放列表命令,现在回去做这些已经太晚了。我现在将此代码用于我的播放按钮(我们使用 openfiledialog 将音乐加载到列表框中):

private void Play_Click(object sender, EventArgs e)
    
        WMPPlayer.URL = paths[filelist.SelectedIndex];
    

这是我的暂停代码:

private void Pause_Click(object sender, EventArgs e)
    
    WMPPlayer.Ctlcontrols.pause();
    

没有计时器或进度条来判断它是否正在暂停,但它确实使音乐停止,所以它似乎正在工作。但是,当我点击播放之后,它会重新开始播放歌曲。我不确定如何在没有计时器的情况下保存歌曲的索引,然后让播放按钮检查歌曲的暂停位置。任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

您可以使用获取音频的当前位置

double pausedPosition = WMPPlayer.Ctlcontrols.currentPosition

在您当前的实现中,您在播放按钮中设置 URL。我相信这是可行的,因为默认行为是它在设置 URL 后立即开始播放 (WMPPlayer.settings.autoStart)。要获得更多控制权,您可以禁用它并将 Play 按钮中的代码更改为:

WMPPlayer.URL = paths[filelist.SelectedIndex];
WMPPlayer.Ctlcontrols.currentPosition = pausedPosition;
WMPPlayer.Ctlcontrols.play();

【讨论】:

我会把那条线放在哪里? double pausedPosition = WMPPlayer.Ctlcontrols.currentPosition 您可以将它放在与暂停它相同的方法中。如果他们正在加载新的音频文件,请确保您不加载 pausedPosition。检查当前 URL 是否与正在加载的新 URL 相同,然后才设置 pausedPosition。

以上是关于试图让我的播放按钮与我的暂停按钮和谐地工作的主要内容,如果未能解决你的问题,请参考以下文章

让我的 Cocoa 应用程序响应键盘播放/暂停键?

仅用于视频的 Javascript 播放/暂停按钮暂停

播放/暂停音频按钮 Swift

为啥我只能在我的 android 通知中按一次播放/暂停按钮?

html5 视频中的单独播放/暂停按钮

如何分配 AVPlayer 播放/暂停按钮 iOS?