确定。我想我在这里错过了一些东西,我是Core Audio的新手,但我已经仔细研究了 Apple文档和网络的其余部分无济于事。我也向apple dev论坛发布了同样的问题并且没有回复。我希望StackOverflow社区可以帮助我。
我正在录制音频并使用AVAudioRecorder和AVAudioPlayer播放它。我的应用程序还使用文件共享,因此用户可以导出音频并在其他地方播放。这是我的问题所在。我正在使用AAC编码进行录制,但该文件不会导入iTunes。使用VLC可以正常播放并查看媒体信息,其编解码器是我期望的mp4a。
在网上阅读它听起来像AAC需要一个mp4a包装。任何人都可以启发我或指导我这方面的一些信息?可能是我可以使用的API或第三方库吗?
我玩过SpeakHere和ExtAudioFileConvertTest示例,添加了文件共享, 记录为AAC但他们仍然无法在iTunes中播放。
这是我的录音代码。非常感谢任何建议或指导。谢谢!
NSDictionary *recordSettings = [[NSDictionary alloc] initWithObjectsAndKeys:
[NSNumber numberWithFloat: 44100.0], AVSampleRateKey,
[NSNumber numberWithInt: kAudioFormatMPEG4AAC], AVFormatIDKey,
[NSNumber numberWithInt: 1], AVNumberOfChannelsKey,
[NSNumber numberWithInt: AVAudioQualityMax],AVEncoderAudioQualityKey,
nil];
...
NSError *error;
recorder = [[AVAudioRecorder alloc] initWithURL: soundFileURL
settings: recordSettings
error: &error];
答案 0 :(得分:2)
在Apple论坛上的一些人的帮助下解决了这个问题。我所要做的就是将文件扩展名设置为m4a!手动更改分机并尝试在iTunes中播放不起作用。 AVAudioRecorder中的一些内容似乎使用扩展来正确编码文件。只需正确设置扩展,它就可以很好地工作。希望将来可以帮助其他人。