C# Android 暂停音频文件
Posted
技术标签:
【中文标题】C# Android 暂停音频文件【英文标题】:C# Android pause audio file 【发布时间】:2017-06-21 09:33:49 【问题描述】:我正在使用 xamarin.forms 构建一个需要播放和控制音频的应用程序。我目前正在播放我的音频文件,但我无法让其他控件正常工作,例如 .Pause() 有人知道我做错了什么吗?提前致谢! :)
调试器说按钮正在工作,所以我的猜测是 PauseAudioFile 函数有问题。
我将此示例用于我自己的代码。 audio pause in xamarin.forms C#
public class SoundDependency : ISound
public SoundDependency()
MediaPlayer player;
public void startSound(string fileName)
var player = new MediaPlayer(); // Create media player
var assetFile = Xamarin.Forms.Forms.Context.Assets.OpenFd(fileName); // Open the resource
// Hook up some events
player.Prepared += (sender, args) =>
player.Start();
;
player.SetDataSource(assetFile.FileDescriptor, assetFile.StartOffset, assetFile.Length);
player.Prepare();
public void PauseAudioFile(string fileName)
if (player != null)
player.Pause();
else
【问题讨论】:
尝试删除PauseAudioFile(...)
中的if-else
对不起,它没有用,当我按下暂停按钮时,应用程序死了。我的错误消息是“对象引用未设置为具有 PauseAudioFile 函数的对象实例”
【参考方案1】:
我从“var player = new MediaPlayer();”中删除了“var”所以现在可以了!
public class SoundDependency : ISound
public SoundDependency()
MediaPlayer player;
public void startSound(string fileName)
player = new MediaPlayer(); // Create media player
var assetFile = Xamarin.Forms.Forms.Context.Assets.OpenFd(fileName); // Open the resource
// Hook up some events
player.Prepared += (sender, args) =>
player.Start();
;
player.SetDataSource(assetFile.FileDescriptor, assetFile.StartOffset, assetFile.Length);
player.Prepare();
public void PauseAudioFile(string fileName)
if (player != null)
player.Pause();
else
【讨论】:
太可怕了以上是关于C# Android 暂停音频文件的主要内容,如果未能解决你的问题,请参考以下文章