Pergunta

Estou tentando escrever um aplicativo onde o usuário grava um som e estaria ouvindo o mesmo com uma música de fundo da Music Library. No entanto, quando tento reproduzir o arquivo gravado usando AvaudioPlayer, a música de fundo (iPod player) está ficando muito baixa e não é audível. Existe alguma propriedade de sessão que eu preciso definir para jogar o Avaudioplayer e o iPod player no mesmo nível? Eu tentei colocar a propriedade ALMITMIXING, mas sem sucesso ..

Foi útil?

Solução

Aqui está o código para definir. Pode ser que eu perdi algo.

[audioSession setCategory :AVAudioSessionCategoryPlayAndRecord error:&err];
    UInt32 category = 1;





    AudioSessionSetProperty( kAudioSessionProperty_OverrideCategoryMixWithOthers , sizeof( category ) , &category );

    UInt32 doChangeDefaultRoute = 1;
        OSStatus status;
    if (status = AudioSessionSetProperty( kAudioSessionProperty_OverrideCategoryDefaultToSpeaker,
                                         sizeof(doChangeDefaultRoute), &doChangeDefaultRoute)) {
        NSLog(@"RunSketchAppDelegate: ERROR: couldn't set kAudioSessionProperty_OverrideCategoryDefaultToSpeaker to %i. Error code = %i", doChangeDefaultRoute, status);
    } else {
        NSLog(@"RunSketchAppDelegate: successfully set kAudioSessionProperty_OverrideCategoryDefaultToSpeaker to %i", doChangeDefaultRoute);
    }

Espero que ajude .. ainda estou fazendo a reprodução que está amando.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top