gpt4 book ai didi

audio - QuickTime Capture 中未使用的音频 channel 问题

转载 作者:行者123 更新时间:2023-12-03 01:03:37 24 4
gpt4 key购买 nike

不久前,我使用 QTKit 捕获 API 编写了一个从多个设备同时捕获音频和视频的应用程序。

但是,我不时了解到,从 DV 摄像机捕获的媒体似乎没有任何相关的音频。事实上,音轨在文件中很好地呈现,但在 QuickTime Player Pro 中 channel 被设置为“未使用”——因此是静音。

由于我不愿意让我的用户接触到这样的恶作剧,我想在飞行后录制我的录音并在需要时自动修复 channel 布局。

不幸的是,我很难弄清楚怎么做!

我的问题有两个:

  • 是否有可能检测到轨道的音频 channel 是否被 QTKit 标记为“未使用”?
  • 由于我认为上述问题的答案是“否”,我一直在研究一些与“Atom Inspector”正常工作的电影文件的结构——到目前为止没有任何成功:
    存储此信息的 QuickTime Atom 是什么/在哪里?
    我可以在 stsd 中看到正确的 channel 数Atom(包含在 stbl Atom 中)但我看不到任何映射发生的位置。
  • 最佳答案

    第一个问题:看起来不像。

    您必须使用 QTGetTrackPropertyInfo API 与 kQTPropertyClass_Audio, kQTAudioPropertyID_ChannelLayout获得 channel 布局。如果返回 AudioChannelLayout结构包含一个标签!= 0,您可以通过 AudioFormatGetPropertyInfo 解决它与 kAudioFormatProperty_ChannelLayoutForTag ;否则,AudioChannelDescription字段有效,mChannelLabel设置为 kAudioChannelLabel_Unused (0)。当然,这一切都只适用于 32 位。不要忘记 #include <AudioToolbox/AudioToolbox.h>
    第二个问题:
    音轨的 stsd 原子应该包含一个“chan”扩展名。这个扩展似乎是一个 UInt32 设置为零,后跟一个 AudioChannelLayout结构体。它似乎没有记录在 QT 文件规范和 MP4 规范中。

    祝你好运!

    关于audio - QuickTime Capture 中未使用的音频 channel 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5378493/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com