Mil*_*den 5 iphone audio objective-c core-audio
(目标C)只是使用简单的AudioServicesPlaySystemSoundID及其对应物,但我在文档中找不到是否已经有办法找到音频文件的长度.
我知道有AudioServicesGetPropertyInfo,但这似乎返回一个字节缓冲区 - 音频文件嵌入自己的长度,我可以用它提取它?
或者是否有基于比特率*fileSize的公式可以转换为时间长度?
mIL3S
www.milkdrinkingcow.com
Pof*_*off 16
根据谷歌的快速搜索,有一个公式:
length-of-time (duration in seconds) = fileSize (in bytes) / bit-rate (bits/secs)*8
Run Code Online (Sandbox Code Playgroud)
您使用System Sound Services播放声音有什么特别的原因吗?
如果您使用AVAudioPlayer处理您的声音,您可以执行以下操作:
AVAudioPlayer * sound = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:path] error:nil];
sound.delegate = self;
sound.volume = 1;
NSLog([NSString stringWithFormat:@"%f", sound.duration]);
Run Code Online (Sandbox Code Playgroud)
Naz*_*zir 11
来自答案的示例代码如何在iOS中获取音频文件的持续时间?.这是最好的答案.
AVURLAsset* audioAsset = [AVURLAsset URLAssetWithURL:audioFileURL options:nil];
CMTime audioDuration = audioAsset.duration;
float audioDurationSeconds = CMTimeGetSeconds(audioDuration);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13213 次 |
| 最近记录: |