2014-09-26 112 views
0

我使用Tony's tutorial制作了Multipeer Audio Streaming应用程序。 但我只能用128kbps比特率播放.mp3。 所以我需要将192kbps或更高比特率的.mp3降低到128kbps。 我发现了一个类似的解决方案[here],但它是用于将mp3编码为视频。如何降低iOS中的mp3比特率?

请帮助我如何降低比特率。

+0

看到我的编辑,我添加了比特率键 – l0gg3r 2014-09-26 08:16:20

+0

有什么好消息吗? – l0gg3r 2014-09-26 09:09:25

+0

有一个例外。我在你的回答中评论。 – Janos 2014-09-26 09:11:29

回答

0
AVAssetReaderTrackOutput *assetOutput = [AVAssetReaderTrackOutput assetReaderTrackOutputWithTrack:asset.tracks[0] outputSettings:nil]; 

你应该在服务器端提供outputSettings:(手机,流音频)

因此,它应该是这样的。

NSDictionary *settings = @{ 
    AVEncoderBitRateKey : @128000, 
    AVFormatIDKey : @(kAudioFormatAppleIMA4), 
    AVNumberOfChannelsKey : @2, 
    AVLinearPCMBitDepthKey : @16, 
    AVLinearPCMIsBigEndianKey : @NO, 
    AVLinearPCMIsFloatKey : @NO 
}; 
AVAssetReaderTrackOutput *assetOutput = [AVAssetReaderTrackOutput assetReaderTrackOutputWithTrack:asset.tracks[0] outputSettings:settings]; 
+0

我不使用流媒体服务器。我使用iphone作为音频广播器,另一个iphone作为音频监听器。当我在广播公司以128kbps比特率播放音乐.mp3时,我可以在听众上播放音乐。但超过192kbps的比特率,没有声音。所以我需要将比特率降低到128kbps。 – Janos 2014-09-26 08:07:35

+0

我将编辑我的文章 – l0gg3r 2014-09-26 08:12:26

+0

有一个这样的例外; 2014-09-26 16:31:18.039 MultipeerAudioStreamer [10376:60b] ***因未捕获异常'NSInvalidArgumentException'而终止应用,原因:'*** - [AVAssetReaderTrackOutput initWithTrack:outputSettings:] AVAudioSettings字典必须包含AVFormatIDKey' – Janos 2014-09-26 08:42:13