Воспроизведение нескольких аудио файлов с AVPlayer - PullRequest
16 голосов
/ 01 июня 2011

Я пытаюсь воспроизвести несколько звуков одновременно.

Первоначально я применил подход к созданию нескольких игроков, но он кажется неправильным.

Что лучшеспособ воспроизведения нескольких аудиофайлов одновременно.

Это делается путем создания их AVAssets, но в этом случае, как бы я остановил и воспроизвел их, когда захочу.

Действительно признателен за вашу помощь.

Причина, по которой мне нужен AVPlayer, заключается в извлечении звуков из библиотеки iPod.

Я наконец получил ответ от TechSupport из Apple Dev Team, и, похоже, я на правильном пути, когда решил использовать несколько AVPlayer.

Ответы [ 3 ]

9 голосов
/ 21 августа 2011

Для каждого звука, который вы хотите сделать, создайте новый AVPlayer.

NSURL *url = [NSURL URLWithString:pathToYourFile];
AVPlayer *audioPlayer = [[AVPlayer alloc] initWithURL:url];
[audioPlayer play];

1 голос
/ 23 декабря 2013

Я никогда не отвечал на вопрос здесь, и я не знаю, кто-нибудь все еще ждет ответа на этот вопрос, но вот мое мнение ... Попробуйте это, и оно должно работать, в настоящее время я использую его, чтобы играть 12 плюс одновременный аудио образцы. Я прошу прощения, если я делаю что-то новенькое ..

Вы нажимаете кнопку и запускаете этот код ...

Но сначала нужно:

  1. Необходимо импортировать AVFoundation в проект и #import в .h файл, а затем мы можем воспроизводить звук с этим.
  2. Нужно поставить "AVAudioPlayer * myAudio;" без кавычек, конечно, где-то сверху (обычно поверх viewDidLoad).

Тогда просто ...

-(IBAction)playButtonPressed:(id)sender {

    NSURL *yourMusicFile;
    yourMusicFile = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"your_Song_Name" ofType:@"mp3"]];

    myAudio = [[AVAudioPlayer alloc] initWithContentsOfURL:musicFile error:nil];
    [myAudio play];
    NSLog(@"Button -playButtonPressed- has been pressed!");
}
0 голосов
/ 25 июля 2012

Ну, мое решение приходит из опыта. Я могу быстро подготовить проект, если это необходимо. Но также требуется использование MoMu API в Стэнфорде. Это включает создание объектов WvIn и WvOut для чтения файлов. Аудиосэмплы этих объектов просто необходимо подать в выходной буфер для одновременного воспроизведения файлов. Хотя API использует AVFoundation, в этом проекте нет явного использования AVFoundation.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...