iOS iPhone-录制在Android上播放的压缩音频文件,无需服务器端转码
我读过很多关于这个问题的帖子,但都没有找到解决办法 解决这个问题 我想在iOS上录制一个音频文件,该文件可以由Android设备发送和播放,而无需在服务器上转码 我知道iOS只支持录制到某些类型,Android只能播放某些类型,如下所示: 但是,根据这一点,如果我输出一个带有以下设置的.m4a文件,它应该可以工作:iOS iPhone-录制在Android上播放的压缩音频文件,无需服务器端转码,android,ios,iphone,audio,avaudiorecorder,Android,Ios,Iphone,Audio,Avaudiorecorder,我读过很多关于这个问题的帖子,但都没有找到解决办法 解决这个问题 我想在iOS上录制一个音频文件,该文件可以由Android设备发送和播放,而无需在服务器上转码 我知道iOS只支持录制到某些类型,Android只能播放某些类型,如下所示: 但是,根据这一点,如果我输出一个带有以下设置的.m4a文件,它应该可以工作: AudioChannelLayout channelLayout; memset(&channelLayout, 0, sizeof(AudioChannel
AudioChannelLayout channelLayout;
memset(&channelLayout, 0, sizeof(AudioChannelLayout));
channelLayout.mChannelLayoutTag = kAudioChannelLayoutTag_Stereo;
recordSettings = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithInt: kAudioFormatMPEG4AAC], AVFormatIDKey,
[NSNumber numberWithFloat:16000.0], AVSampleRateKey,
[NSNumber numberWithInt:1], AVNumberOfChannelsKey,
[NSNumber numberWithInt:32000], AVEncoderBitRateKey,
[NSData dataWithBytes:&channelLayout length:sizeof(AudioChannelLayout)], AVChannelLayoutKey,
nil];
但它不起作用
现在我注意到的一件事是,如果我试图在我的电脑上打开我在iphone上录制的文件,它会很明显地将其识别为quicktime文件
AVAudioRecorder正在将文件的outputfiletype设置为quicktime格式
而不是@public.audio之类的
那么,也许有一种方法可以简单地更改由AVAudioRecorder创建的文件的文件类型
不管怎样,有人成功地解决了这个问题吗?如果是的话,怎么解决的?在我的例子中,我有相同的音频编码,但我们使用.3gp扩展名保存它,它可以在Android和iOS上复制。希望能有帮助