我想从用户的音乐库中获取音乐以进行音频音乐指法。我需要的只是每首歌曲的 30 秒。我该怎么做?我不需要保存音频,只需使用它。
以上2个链接是要走的路吗?
感谢您阅读并感谢任何评论。
干杯
我想从用户的音乐库中获取音乐以进行音频音乐指法。我需要的只是每首歌曲的 30 秒。我该怎么做?我不需要保存音频,只需使用它。
以上2个链接是要走的路吗?
感谢您阅读并感谢任何评论。
干杯
要访问用户在其设备库中已有的音乐,您将使用MPMediaItemCollection 类。在 Apple Docs 中的“添加音乐”示例中也可以找到有关使用此功能的示例代码(虽然有点旧且不使用 ARC)。
我不确定您使用的是什么音频播放器,但如果您想寻找歌曲或音频文件中的特定点,您可以使用currentTime
AVAudioPlayer 类中的属性(在 Apple Docs 中注明)。
为了实现这一点,你可以做一些简单的事情:
yourAudioPlayer.currentTime = 60;
这会将歌曲跳转到 1 分钟标记。在歌曲播放之前,我不能 100% 确定如何执行此操作,但我会将它放在 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,它会stop
在 30 秒延迟后调用播放器。就像是:
[NSTimer
scheduledTimerWithTimeInterval:30.0
target:self.player
selector:@selector(stop)
userInfo:nil
repeats:NO];
如果你把它放在你用来玩的 IBAction 中,那就应该这样做!