0

オーディオ音楽の運指のためにユーザーのライブラリから音楽を取得したいと思います。私が必要としたのは、各曲のわずか 30 秒です。どうすればいいですか?オーディオを保存する必要はありませんが、使用するだけです。

iOS オーディオ トリミング

iOS でオーディオをトリミングする

上記の2つのリンクは行くべきですか?

読んでくれてありがとう。コメントもありがとう。

乾杯

4

1 に答える 1

1

ユーザーがデバイス ライブラリに既に持っている音楽にアクセスするには、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にそれを入れれば、それでうまくいくはずです!

于 2013-08-21T02:33:43.377 に答える