0

オーディオを終了するときにオーディオ プレーヤーを一時停止するという奇妙な要件が 1 つあります。そのため、再生が終了しても音声を逆再生できます。

この要件について何かクレイジーなアイデアはありますか?

4

2 に答える 2

0

きれいではありませんが、AVAudioPlayerDelegate メソッドを使用してサウンドの再生が終了したことを検出し、シーク位置をトラックの最後に設定して新しいプレーヤー オブジェクトを作成し、一時停止することができます。

- (void)audioPlayerDidFinishPlaying:(AVAudioPlayer *)player successfully:(BOOL)flag
{
    AVAudioPlayer *newPlayer = [[AVAudioPlayer alloc] initWith....];

    if ([player prepareToPlay]) {
        [player playAtTime:player.duration - 1];
        [player pause];
    }
}
于 2013-08-09T11:40:56.693 に答える
0

インターフェイスでpausedTime変数を定義する必要があります。

@interface

NSTimeInterval pausedTime;
AVAudioPlayer *avAudioPlayer;

@end

次に、実装セクションで、これらの次のメソッドを広告して、一時停止および再開機能を実行できます。

@implementation

-(void)pauseAudio
{
  pausedTime = avAudioPlayer.currentTime;
  [avAudioPlayer stop];
}

-(void)resumeAudioPlaying
{
  [avAudioPlayer playAtTime:pausedTime];
}

@end
于 2013-08-09T11:37:57.340 に答える