我在android中尝试了各种配置,例如:
myRecorder = new MediaRecorder();
myRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
myRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
myRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.AAC);
myRecorder.setAudioSamplingRate(44100);
myRecorder.setAudioEncodingBitRate(256);
myRecorder.setAudioChannels(1);
和
MediaRecorder mediaRecorder = new MediaRecorder();
mediaRecorder.setAudioSource(MediaRecorder.AudioSource.MIC);
mediaRecorder.setOutputFormat(MediaRecorder.OutputFormat.MPEG_4);
mediaRecorder.setAudioEncoder(MediaRecorder.AudioEncoder.HE_AAC);
mediaRecorder.setAudioSamplingRate(16000);
mediaRecorder.setAudioChannels(1);
和其他一些人,但在Android中录制的声音都不能在iOS上播放。在iOS中我试过:
self.player=[[AVAudioPlayer alloc]initWithContentsOfURL:fileUrl error:&error];
和
self.player=[[AVAudioPlayer alloc]initWithData:voicedata error:&error];
两者都无法播放语音数据。我也尝试将扩展名更改为.m4a或没有扩展名,但没有用。错误代码是:
Error Domain=NSOSStatusErrorDomain Code=2003334207 "(null)"
这可能是即时通讯应用程序中一个非常常见的问题。
我需要改变什么吗? NSData是否有某种设置来指定它是什么类型的文件?有没有人有任何想法?