AVAudioPlayer как проигрывать быстрый или медленный файл - PullRequest
0 голосов
/ 19 сентября 2011

Мне просто нужно слушать файл медленно или быстро.Любая помощь будет принята с благодарностью

Ответы [ 3 ]

1 голос
/ 22 сентября 2011

спасибо, но я решил это следующим образом:

Установить cocos2d http://www.cocos2d -iphone.org / загрузить

[[SimpleAudioEngine sharedEngine] playEffect: (NSString*) Pitch (float32) Pan (float32) усиление (float32)]

это просто и работает ....

1 голос
/ 19 сентября 2011

AVAudioplayer не может этого сделать, AVPlayer может.

       // play audio file as NSURL *url;
    NSDictionary *options = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:NO]
                                                        forKey:AVURLAssetPreferPreciseDurationAndTimingKey];

    AVURLAsset *urlAsset = [AVURLAsset URLAssetWithURL:url options:options];
    NSString *tracksKey = @"tracks";
    [urlAsset loadValuesAsynchronouslyForKeys:[NSArray arrayWithObject:tracksKey] completionHandler:
     ^{

         // Completion handler block.
         dispatch_async(dispatch_get_main_queue(),
                        ^{
                            NSError *error = nil;
                            AVKeyValueStatus status = [urlAsset statusOfValueForKey:tracksKey error:&error];

                            if (status == AVKeyValueStatusLoaded) {
                                self.avPlayer = [AVPlayer playerWithPlayerItem:playerItem];
                                [avPlayer play];

                                avPlayer.rate = 0.5;
                            }
                            else {
                                // You should deal with the error appropriately.
                                NSLog(@"The asset's tracks were not loaded:\n%@", [error localizedDescription]);

                            }

                        });
     }];
0 голосов
/ 14 сентября 2017

в Swift 3.0 это будет так -

    audioP = try! AVAudioPlayer(contentsOf: URL(fileURLWithPath: selectedPath), fileTypeHint: "caf")
    audioP.enableRate = true
    audioP.prepareToPlay()
    audioP.rate = 1.5
    audioP.play()

Надеюсь, это поможет :)

...