在 iOS 中将部分音频文件复制到新文件中
我想复制音频文件的一部分,给定起点和终点(就我将转换为数据包或帧的时间而言 - 转换正确吗?),并为复制的片段创建一个新的音频文件。我该如何复制? 请指教。
问候, 纳姆拉塔
I want to copy a part of the audio file, given the starting and ending point(in terms of time which I'll convert to packets or frames-is the conversion right?), and create a new audio file for the copied snippet. How do I copy?
Please advice.
Regards,
Namratha
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
适用于什么文件格式?
对于最简单和常见的 .WAV (RIFF) 文件格式,您只需复制规范的 44 字节标头(检查并确保文件仅使用这种简单格式后),更新目标文件长度,然后复制从源文件中选择字节子范围(时间乘以采样率乘以帧大小),并将该 PCM 数据附加到复制的标头中。苹果的编解码器不会抱怨以这种方式拼凑在一起的音频文件。
对于其他格式,您可以将它们转换为简单的 WAVE 文件,或转换为具有合适采样率、数据类型和字节顺序的原始 PCM 样本数组,然后执行上述操作。
For what file format(s)?
For the simplest and common .WAV (RIFF) file format, you can just copy the canonical 44-byte header (after checking to make sure the file is using only this simple format), update with the target file length, and then copy a selected sub-range of bytes (multiply time by sample rate by frame size) from the source file, and append that PCM data to the copied header. Apple's codec does not complain about audio files patched together this way.
For other formats, you might be able to convert them either to a simple WAVE file, or to an array of raw PCM samples of suitable sample rate, data type and endianess, and then do the above.