【问题标题】:C# - Xamarin Forms audio player stops working after 5 or 6 usesC# - Xamarin Forms 音频播放器在使用 5 或 6 次后停止工作
【发布时间】:2017-08-01 19:13:35
【问题描述】:

我在 Xamarin 中使用此音频播放器实现

https://www.codeproject.com/Articles/1088094/Playing-audio-mp-File-in-Xamarin-Forms

我的代码中有一个按钮,当按下该按钮时,会播放某种短促(1-2 秒)的音调。

链接中的播放器运行良好,但由于某种原因,如果我反复按我的按钮 5 或 6 次,音频播放器将不再工作。即使我离开页面并回来,音频播放器仍然无法工作。这可能是什么原因造成的?我担心这可能是 Android 上的设备安全问题,否则为什么它会在前几次播放?

这是我点击按钮的代码

    void PlayChordClicked(object sender, EventArgs e)
    {
         DependencyService.Get<IAudio>().PlayAudioFile(myMp3);
    }

其他一切都与教程完全相同。 谢谢!

【问题讨论】:

  • 该代码(文章中的那个)在完成后不会处理玩家,这会导致很多问题,添加代码以在完成后销毁旧玩家。
  • 那就学习怎么做吧:)
  • 老兄,您为什么不阅读有关 MediaPlayer 和 AVPlayer 的 Xamarin 文档?挂钩到正确的事件并处置对象。
  • 没问题,我真的很高兴你终于花时间学习了。请记住,文档永远是您的朋友,请先阅读它,如果您仍有疑问,请寻求帮助。
  • 自己添加答案,因为你是有完整答案的人,你也会获得积分;)

标签: c# audio xamarin


【解决方案1】:

在 cmets 的 Gusman 的帮助下,我发现我很可能会因为在使用 MediaPlayer 后没有处理它而导致应用程序崩溃。

我在 Android 的“PlayAudioFile”方法中添加了这几行代码,它成功了

player.Completion += delegate
{
    player.Release();
    player.Dispose();
}; 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-14
    • 1970-01-01
    • 2020-10-04
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多