首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >音频队列服务记录到.mp4文件,不能播放。和魔术饼干问题

音频队列服务记录到.mp4文件,不能播放。和魔术饼干问题
EN

Stack Overflow用户
提问于 2011-01-11 21:13:32
回答 1查看 1.4K关注 0票数 4

我是一个新手Mac程序员,只需3个月。我有一个音频队列服务的问题,希望任何人能帮助我。

我用音频队列服务API创建了一个录音程序,并输出AAC格式的数据。看起来很好,一切都很好。

在我使用MP4V2库(一个开源库)输出一个.mp4文件之前,就会出现问题。

问题1:

我使用魔术cookie作为AAC头来输入MP4V2库函数。在.mp4文件中有数据,但是播放器(例如:Quicktime)不能识别.mp4文件,它不能播放音频数据。

问题2:

我将音频队列基本描述格式设置为:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    aqData.mDataFormat.mSampleRate = 44100.0;
    aqData.mDataFormat.mFormatID = kAudioFormatMPEG4AAC;  // AAC codec.
    aqData.mDataFormat.mChannelsPerFrame = 2;
    aqData.mDataFormat.mFramesPerPacket = 1024;

并使用AudioQueueGetProperty()获得魔术曲奇。

而不是打印出我的魔术曲奇内容,就像这样:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    <03808080 22000000 04808080 14401500 18000001 f4000001 f4000580 80800212 10068080 800102>

总共39位。

这到底意味着什么? 39位字节代表了什么意思? 它能转换成AAC头吗?

参考资料:

http://developer.apple.com/library/mac/#documentation/MusicAudio/Conceptual/AudioQueueProgrammingGuide/AQRecord/RecordingAudio.html#//apple_ref/doc/uid/TP40005343-CH4-SW1

http://developer.apple.com/library/mac/#documentation/MusicAudio/Conceptual/AudioQueueProgrammingGuide/AQPlayback/PlayingAudio.html#//apple_ref/doc/uid/TP40005343-CH3-SW1

https://stackoverflow.com/questions/4189292/coreaudio-how-to-determine-the-end-of-the-playing-aac-file

非常感谢。

瑞安

EN

回答 1

Stack Overflow用户

发布于 2012-02-21 01:43:21

将文件类型设置为kAudioFileM4AType

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
AudioFileCreateWithURL (
            audioFileURL,
            kAudioFileM4AType,
            &audioFormat,
            kAudioFileFlags_EraseFile,
            &audioFileID
    );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4665554

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文