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 暂停音频文件的主要内容,如果未能解决你的问题,请参考以下文章

通知中的播放/暂停按钮图像,Android

Android 音视频深入 十三 OpenSL ES 制作音乐播放器,能暂停和调整音量(附源码下载)

Android 2.1+ 暂停来电/去电,完成后恢复

Android20.0 第20章 音频视频拍照截图

如何在 C# 中暂停和恢复音频

Xamarin Android C# 播放音频流(在线电台)