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

Posted

技术标签:

【中文标题】如何从 iTunes 库中修剪或裁剪音乐【英文标题】:how to trim or crop music from itunes library 【发布时间】:2013-08-20 06:25:06 【问题描述】:

我想从用户的音乐库中抓取音乐以进行音频音乐指法。我需要的只是每首歌曲的 30 秒。我该怎么做?我不需要保存音频,只需使用它。

ios Audio Trimming

Trim audio with iOS

以上2个链接是要走的路吗?

感谢阅读并感谢任何 cmets。

干杯

【问题讨论】:

【参考方案1】:

要访问用户设备库中已有的音乐,您可以使用MPMediaItemCollection class。在 Apple Docs 中的"Add Music" 示例中也可以找到有关使用此功能的示例代码(虽然有点旧且未使用 ARC)。

我不确定您使用的是什么音频播放器,但如果您想寻找歌曲或音频文件中的特定点,您可以使用 AVAudioPlayer 类中的 currentTime 属性,@987654323 @。

要实现这一点,你可以做一些简单的事情:

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,它会在 30 秒延迟后在播放器上调用 stop。比如:

    [NSTimer 
     scheduledTimerWithTimeInterval:30.0
     target:self.player
     selector:@selector(stop)
     userInfo:nil
     repeats:NO];

如果你把它放在你用来玩的 IBAction 中,那就应该这样做!

【讨论】:

以上是关于如何从 iTunes 库中修剪或裁剪音乐的主要内容,如果未能解决你的问题,请参考以下文章

无法从 OS X 访问 iTunes 音乐商店

如何删除iTunes / Music Library中的重复歌曲?

从 iTunes 搜索 API(Apple 音乐)获取 ISRC 代码

从电脑上下载歌曲至iphone手机上,如何把此歌曲设置为铃声?

如何在 iOS 中从开始时间到结束时间修剪或播放音频?

在我的 iPhone 应用程序中播放 iTunes 歌曲