- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
使用AVCaptureAudioDataOutput时,CMSampleBuffer中存储的数据是什么?它通过委托(delegate)方法 –captureOutput:didOutputSampleBuffer:fromConnection:
传递 CMSampleBuffers 但是 CMSampleBuffer 里面有什么? PCM 还是压缩?采样率、 channel 数等是多少?这如何用于从设备流式传输音频?谷歌搜索几个小时对我没有帮助。
提前致谢
最佳答案
看起来您可以通过这种方式获得 ASBD:
sampleBuffer->
CMSampleBufferGetFormatDescription ->
CMAudioFormatDescriptionGetStreamBasicDescription
然后 ASBD 将详细说明帧大小、是否压缩、字节顺序等。
为了证明这一点(没有错误检查)并获得采样率:
CMSampleBufferRef cmSampleBuffer = ...;
CMFormatDescriptionRef formatDescription =
CMSampleBufferGetFormatDescription(cmSampleBuffer);
const AudioStreamBasicDescription* const asbd =
CMAudioFormatDescriptionGetStreamBasicDescription(formatDescription);
double sampleRate = asbd->mSampleRate;
关于ios - 音频 CMSampleBuffer 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8049999/
在这里,我尝试从照片库中选择视频并将其作为samplebuffer逐帧读取,以便稍后可以裁剪或旋转。但问题是CMSampleBuffer默认旋转。我用于初始化的变量是 var asset:AVAss
我正在尝试从 CMSampleBuffer 访问样本以进行进一步处理(主要是视觉处理),这是我的代码: func captureOutput(_ output: AVCaptureOutput, d
这可能是个愚蠢的问题,但我才刚刚开始了解媒体格式和 AVFoundation,所以请多多包涵。 我一直在尝试弄清楚 AVCaptureVideoDataOutput 中的 CMSampleBuffer
我通过以下方式从我的相机获取帧: func captureOutput(_ output: AVCaptureOutput, didOutput sampleBuffer: CMSampleBuffe
我们的应用程序使用 AVFoundation 来捕获视频,并使用其样本缓冲区显示、操作和导出视频。我试图了解 CMSampleBufferGetPresentationTimeStamp(_:) CM
我在从 AVCaptureSession 相机中的 CMSampleBuffer 释放内存时遇到问题。这是我设置捕获 session 的代码。如果我处置 imageDataSampleBuffer,应
我正在尝试获取样本缓冲区中的图像元数据,以下是代码片段: stillImageOutput.CaptureStillImageAsynchronously(requiredConnection,(CM
我想通过网络连接发送视频流的帧,所以我实现了 AVCaptureVideoDataOutputSampleBufferDelegate 函数: func captureOutput(_ output:
我想修改CMSampleBuffer的内容,然后用AVAssetWriter/AVAssetWriterInput写入文件。 我这样做的方法是创建一个 Core Graphics 位图上下文,然后在其
使用AVCaptureAudioDataOutput时,CMSampleBuffer中存储的数据是什么?它通过委托(delegate)方法 –captureOutput:didOutputSample
我使用 AVAssetWriter 和 CMSampleBuffer 数据(来自视频、音频输入)录制视频(.mp4 文件)。 在录制时我想处理帧,我正在将 CMSampleBuffer 转换为 CII
我在 iOS 中为群组创建了一个视频聊天应用程序。我一直在寻找一些方法来分别控制不同参与者的音量。我找到了使用 RemoteAudioTrack 中的 isPlaybackEnabled 静音和取消静
我正在尝试创建由 AVCaptureAudioDataOutputSampleBufferDelegate 中的 captureOutput 返回的 CMSampleBuffer 副本. 我遇到的问题
我正在尝试创建 CMSampleBuffer 的副本,由 AVCaptureVideoDataOutputSampleBufferDelegate 中的 captureOutput 返回。 由于 CM
我从 ARSessionDelegate 得到一个 CVPixelBuffer: func session(_ session: ARSession, didUpdate frame: ARFrame
我试图从使用 AVFoundation 捕获的图像中获取曝光时间.当我按照 2010 年的 WWDC 指令从 CMSampleBuffer 检索有用的图像元数据时像这样: -(void)capture
我有一个附加到 AVPlayerItem 的 AudioTapProcessor。 这将调用static void tap_ProcessCallback(MTAudioProcessingTapRe
我想使用 GPUImageView 输出从 AVCaptureVideoDataOutputSampleBufferDelegate 接收到的 CMSampleBuffer。所以,基本上,我不希望 G
我正在使用同时录制音频和视频的外部摄像头。 我的应用程序接收具有以下结构的 AAC 格式的音频: struct AudioPacket { let timestamp: TimeInterval
我正在使用框架 (MoodMe) 来检测 iPhone 相机上的人脸,我需要将图像或帧传递给 MoodMe 实例。 我已将相机输出转换为 UIImage,但框架未检测到任何人脸。 (我觉得) 所以我想
我是一名优秀的程序员,十分优秀!