我想从用户的库中获取音乐音乐指法音乐。我需要的只是每首歌30秒。我该怎么办呢?我不需要保存音频,只是使用它。
上面的2个链接是什么方式?
感谢阅读并感谢任何评论。
欢呼声
答案 0 :(得分:1)
要访问用户已在其设备库中拥有的音乐,您可以使用MPMediaItemCollection class。有关使用此示例的示例代码(虽然稍旧且不使用ARC)也可以在"Add Music"示例的Apple Docs中找到。
我不确定您使用的音频播放器是什么,但如果您想要寻找歌曲或音频文件中的特定点,可以使用AVAudioPlayer类中的currentTime
属性, (noted in the Apple Docs)
为了实现这一点,你可以做一些简单的事情:
yourAudioPlayer.currentTime = 60;
这会将歌曲跳到1分钟。我不是百分之百确定在歌曲播放之前如何做到这一点,但我会把它放在Play IBAction中,然后开始播放:
- (IBAction) playOrPause: (id) sender {
if (self.player.playing) {
[self.button setTitle: @"Play" forState: UIControlStateHighlighted];
[self.button setTitle: @"Play" forState: UIControlStateNormal];
[self.player pause];
} else {
[self.button setTitle: @"Pause" forState: UIControlStateHighlighted];
[self.button setTitle: @"Pause" forState: UIControlStateNormal];
[self.player.currentTime = 60]; //Set the seeker here
[self.player play];
}
}
要在一段时间后(您说30秒)停止播放,您可以使用NSTimer,在延迟30秒后将在播放器上调用stop
。类似的东西:
[NSTimer
scheduledTimerWithTimeInterval:30.0
target:self.player
selector:@selector(stop)
userInfo:nil
repeats:NO];
如果你把它放在你用来玩的IBAction中,那应该这样做!