从任意位置播放声音

时间:2016-04-22 14:26:27

标签: ios objective-c loops audio

我正在寻找一种从文件中的任何一点播放音频文件的方法。 目前,每当我播放文件时,它都会从头开始。 由于它是一个循环,我可以选择让它循环,并随意打开/关闭音量,但我认为这是一种蹩脚的解决方案,至少不是因为电池问题。 我真的对此做了一些研究,但这要么是一个怪胎要求,要么我不知道如何表达我的疑问。 提前感谢任何提示。

1 个答案:

答案 0 :(得分:0)

这应该是一个很容易解决的问题。您没有发布任何代码,因此我们无法看到您目前正在尝试的内容。我要做的是:

NSString *soundPath = [[NSBundle mainBundle] pathForResource:@"SoundFile" ofType:@"wav"];
AVAudioPlayer * soundData =[[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL fileURLWithPath:soundPath] error:NULL];

[soundData stop];
soundData.currentTime = 22; //This will start playback 22 seconds into the file
[soundData play];

毋庸置疑,您需要检查声音文件的持续时间,以免您选择超出其结束时间!

currentTime是一个浮点数(因此您可以指定毫秒值)。您可以在此处阅读更多内容:https://developer.apple.com/library/ios/documentation/AVFoundation/Reference/AVAudioPlayerClassReference/#//apple_ref/occ/instp/AVAudioPlayer/currentTime