Подтвердить что ты не робот

Воспроизведение нескольких аудиофайлов с помощью AVPlayer

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

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

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

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

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

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

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

  • Вам нужно импортировать AVFoundation для проекта и #import в файл .h, а затем мы можем воспроизводить звук с этим.
  • Нужно поставить "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!");
}

Ответ 3

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