如何从iTunes库中剪裁或裁剪音乐

时间:2013-08-20 06:25:06

标签: ios core-audio

我想从用户的库中获取音乐音乐指法音乐。我需要的只是每首歌30秒。我该怎么办呢?我不需要保存音频,只是使用它。

iOS Audio Trimming

Trim audio with iOS

上面的2个链接是什么方式?

感谢阅读并感谢任何评论。

欢呼声

1 个答案:

答案 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中,那应该这样做!