Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
iOS iPhone-录制在Android上播放的压缩音频文件,无需服务器端转码_Android_Ios_Iphone_Audio_Avaudiorecorder - Fatal编程技术网

iOS iPhone-录制在Android上播放的压缩音频文件,无需服务器端转码

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

我读过很多关于这个问题的帖子,但都没有找到解决办法 解决这个问题

我想在iOS上录制一个音频文件,该文件可以由Android设备发送和播放,而无需在服务器上转码

我知道iOS只支持录制到某些类型,Android只能播放某些类型,如下所示:

但是,根据这一点,如果我输出一个带有以下设置的.m4a文件,它应该可以工作:

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上复制。希望能有帮助