Cha*_* SP 5 audio cocoa core-audio audioqueueservices
如何在audioQueue中获取音乐的总持续时间.我在用
NSTimeInterval AQPlayer::getCurrentTime()
{
NSTimeInterval timeInterval = 0.0;
AudioQueueTimelineRef timeLine;
OSStatus status = AudioQueueCreateTimeline(mQueue, &timeLine);
if(status == noErr)
{
AudioTimeStamp timeStamp;
AudioQueueGetCurrentTime(mQueue, timeLine, &timeStamp, NULL);
timeInterval = timeStamp.mSampleTime;
}
return timeInterval;
}
Run Code Online (Sandbox Code Playgroud)
AudioQueueGetCurrentTime(mQueue,timeLine,&timeStamp,NULL); 为了获得当前的播放时间,它给出了一些有价值的大值以及如何获得音乐文件的持续时间.
为了将来参考,我使用Chandan代码的略微修改在几秒钟内获得正确的时间:
int AQPlayer::GetCurrentTime() {
int timeInterval = 0;
AudioQueueTimelineRef timeLine;
OSStatus status = AudioQueueCreateTimeline(mQueue, &timeLine);
if(status == noErr) {
AudioTimeStamp timeStamp;
AudioQueueGetCurrentTime(mQueue, timeLine, &timeStamp, NULL);
timeInterval = timeStamp.mSampleTime / mDataFormat.mSampleRate; // modified
}
return timeInterval;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5520 次 |
| 最近记录: |