如何从 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 库中修剪或裁剪音乐的主要内容,如果未能解决你的问题,请参考以下文章
如何删除iTunes / Music Library中的重复歌曲?
从 iTunes 搜索 API(Apple 音乐)获取 ISRC 代码