Monotouch:尝试从使用AVAudioPlayer生成的文件中播放音频

本文关键字:文件 音频 播放 AVAudioPlayer Monotouch | 更新日期: 2023-09-27 17:54:20

我面临以下问题:我想用AVAudioRecorder从麦克风记录一个音频文件,并将输出实时流到AVAudioPlayer。我试过打开一个流

FileStream f = new FileStream(fileName, FileMode。开放,FileAccess。阅读,FileShare.ReadWrite);

其中fileName是记录器正在写入的文件的名称。然后我尝试初始化AVAudioPlayer:

AVAudioPlayer player = AVAudioPlayer. fromdata (NSData.FromStream(f));

总是返回一个空播放器,所以我把FileStream包装成BufferedStream,如

BufferedStream bf = new BufferedStream(f);

然后我使用上面的代码行初始化播放器,但不是传递f流,而是传递bf流。

这让玩家至少获得一个值而不是null,但我什么也听不到。

有没有可能有人遇到过同样的问题,并且知道解决方法?我可以这样使用AVAudioPlayer吗?还是我做错了?

Monotouch:尝试从使用AVAudioPlayer生成的文件中播放音频

我知道这是一个老问题,但我还是回答,以防别人遇到这个问题。

要播放刚刚录制的音频,根据您刚刚录制到的文件名创建一个URL的音频播放器:

AVAudioPlayer player = AVAudioPlayer.FRomUrl(NSUrl.FromFileName(fileName));
player.PrepareToPlay();
player.Play();