Audio QuickTime捕获中未使用的音频通道存在问题
不久前,我使用QTKit捕获API编写了一个应用程序,可以同时从多个设备捕获音频和视频 然而,我了解到,从DV摄像机捕获的媒体有时似乎没有任何相关的音频。事实上,音频曲目很好地存在于文件中,但频道在QuickTime Player Pro中设置为“未使用”——因此静音 因为我不愿意让我的用户暴露在这样的恶作剧中,所以我想发布我的录音,如果需要的话,自动修复频道布局 不幸的是,我很难弄明白怎么做 我的问题有两个方面:Audio QuickTime捕获中未使用的音频通道存在问题,audio,video-capture,quicktime,qtkit,Audio,Video Capture,Quicktime,Qtkit,不久前,我使用QTKit捕获API编写了一个应用程序,可以同时从多个设备捕获音频和视频 然而,我了解到,从DV摄像机捕获的媒体有时似乎没有任何相关的音频。事实上,音频曲目很好地存在于文件中,但频道在QuickTime Player Pro中设置为“未使用”——因此静音 因为我不愿意让我的用户暴露在这样的恶作剧中,所以我想发布我的录音,如果需要的话,自动修复频道布局 不幸的是,我很难弄明白怎么做 我的问题有两个方面: 是否可以从QTKit中检测到曲目的音频通道是否标记为“未使用” 由于我认为上述问
存储此信息的QuickTime Atom是什么/在哪里?
我可以在
stsd
Atom(包含在stbl
Atom中)中看到正确数量的通道,但我看不到任何映射发生在何处第一个问题:看起来不像 您必须将
qtgetrackpropertyinfo
API与kQTPropertyClass\u Audio、kqtpaudiopropertyid\u ChannelLayout
一起使用才能获得频道布局。如果返回的AudioChannelLayout
结构包含标记!=0,您可以通过AudioFormatGetPropertyInfo
使用kAudioFormatProperty\u ChannelLayoutForTag
解决该问题;否则,AudioChannelDescription
字段将有效,mcchannellabel
设置为kAudioChannelLabel_Unused
(0)。当然,所有这些只在32位中有效。别忘了#包括
第二个问题:
音频曲目的stsd原子应包含“chan”扩展。此扩展似乎是一个设置为零的UInt32,后面是一个AudioChannelLayout
结构。QT文件规范和MP4规范中似乎都没有记录
祝你好运