遇到NSSound currentTime问题

时间:2012-07-24 04:27:01

标签: cocoa ime nssound

我正在使用NSSound,我可以正确地播放/暂停声音,但由于某种原因,我无法让currentTime方法返回除零以外的任何内容。

以下是我遇到问题的代码:

NSSound* sound = [[NSSound alloc] initWithContentsOfFile:@"path_to_sound.mp3" byReference:NO];
[sound play];
sleep(1);
NSLog(@"Current time: %f", [sound currentTime]);

声音播放但NSLog始终返回零。有什么想法吗?

2 个答案:

答案 0 :(得分:0)

默认情况下,

NSSound使用默认声音设备。您可以使用NSSound类的setPlaybackDeviceIdentifier:方法更改输出设备 请查看thishow to get Audio Device UID to pass into NSSound's setPlaybackDeviceIdentifier:以获取声音输出设备的唯一标识符

答案 1 :(得分:0)

我没有机器来测试,但我希望你可以从中学到你需要的东西:

NSLog(@"Playback on %@, current time: %@ / %@",
   [sound playbackDeviceIdentifier], [sound currentTime], [sound duration]);