オーディオ音楽の運指のためにユーザーのライブラリから音楽を取得したいと思います。私が必要としたのは、各曲のわずか 30 秒です。どうすればいいですか?オーディオを保存する必要はありませんが、使用するだけです。
上記の2つのリンクは行くべきですか?
読んでくれてありがとう。コメントもありがとう。
乾杯
オーディオ音楽の運指のためにユーザーのライブラリから音楽を取得したいと思います。私が必要としたのは、各曲のわずか 30 秒です。どうすればいいですか?オーディオを保存する必要はありませんが、使用するだけです。
上記の2つのリンクは行くべきですか?
読んでくれてありがとう。コメントもありがとう。
乾杯
ユーザーがデバイス ライブラリに既に持っている音楽にアクセスするには、MPMediaItemCollection クラスを使用します。これを使用するサンプル コード (少し古く、ARC を使用していません) は、Apple Docs の「Add Music」サンプルにもあります。
どの Audio Player を使用しているかはわかりませんが、曲またはオーディオ ファイルの特定のポイントをシークしたい場合は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 秒と言います) 後に再生を停止するにはstop
、30 秒の遅延後にプレーヤーを呼び出す NSTimer を使用できます。何かのようなもの:
[NSTimer
scheduledTimerWithTimeInterval:30.0
target:self.player
selector:@selector(stop)
userInfo:nil
repeats:NO];
プレイに使用するIBActionにそれを入れれば、それでうまくいくはずです!