我正试图通过AVPlayer
录制正在流式传输的音频。从麦克风AVAudioRecorder
只记录,如果音频通过扬声器发挥其可能工作(虽然质量下降),但它肯定会不如果耳机插好工作。从AVPlayer流式传输记录音频
我到处找了一个解决方案,但仍然没有找到适合我的解决方案。我需要抓取音频缓冲区吗?还有另一种方法来捕捉正在播放的内容吗?
我正试图通过AVPlayer
录制正在流式传输的音频。从麦克风AVAudioRecorder
只记录,如果音频通过扬声器发挥其可能工作(虽然质量下降),但它肯定会不如果耳机插好工作。从AVPlayer流式传输记录音频
我到处找了一个解决方案,但仍然没有找到适合我的解决方案。我需要抓取音频缓冲区吗?还有另一种方法来捕捉正在播放的内容吗?
您可以通过将MTAudioProcessingTap
添加到AVPlayer
来获取音频缓冲区。
这个过程有点复杂,但有some information那里。
现在最简单的方法是使用AVAudioEngine进行播放和录制。
查看https://github.com/mattneub/Programming-iOS-Book-Examples/blob/master/bk2ch14p655AVAudioEngineTest/AVAudioEngineTest/ViewController.swift为例。 – matt
如果文件没有嵌入,我可以使用AVAudioEngine吗?每当我尝试在线创建一个'AVAudioFile'时,它立即崩溃。我发现这个,但没有答案: http://stackoverflow.com/questions/30862664/stream-data-from-network-in-avaudioengine-is-it-possible – Oren
对不起,错过了你的问题。我怀疑你能做到;你必须诉诸你的其他选择......! – matt
这就是我一直在想我需要做的事情,但希望我不必走下这种低级框架的工作之路。我发现这篇文章(http://venodesigns.net/2014/01/08/recording-live-audio-streams-on-ios/)似乎正是我想要的,但我知道我会遇到重大问题所以希望有一个更容易的选择。 – Oren
检查出上面的亚光答案,它应该更容易,如果你不介意丢弃'AVPlayer' –
AVAudioFile应该处理网络上托管的文件吗? (我评论Matt'a答案...见下文) – Oren