Gabriel Vincent Postado 19 de janeiro de 2012 Denunciar Compartilhar Postado 19 de janeiro de 2012 Olá a todos! Estou precisando fazer meu app continuar a tocar o áudio que ele reproduz mesmo após o usuário bloquear a tela ou que o iPhone se auto-bloqueie. Já tentei coisas como: UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (sessionCategory), &sessionCategory); AudioSessionSetActive(true);[/CODE]ou:[CODE]NSError *sessionError = nil;[[AVAudioSession sharedInstance] setDelegate:self];[[AVAudioSession sharedInstance] setCategory:AVAudioSessionCategoryPlayback error:&sessionError];[[AVAudioSession sharedInstance] setActive:YES error:nil];[/CODE]Mas nada disso funciona. Não encontrei nenhum outro método para fazer isso na internet. Nem mesmo o Stack Overflow foi capaz de me ajudar. Espero que aqui alguém possa.Obrigado,Gabriel Vincent Citar Link para o comentário Compartilhar em outros sites More sharing options...
Franciscojunior Postado 20 de janeiro de 2012 Denunciar Compartilhar Postado 20 de janeiro de 2012 depois que bloquear a tela aperte duas vezes o botao home e aperte play. vê se é isso que você quer. eu acho que nao é isso nao, mais não custava falar. play Citar Link para o comentário Compartilhar em outros sites More sharing options...
Gabriel Vincent Postado 20 de janeiro de 2012 Autor Denunciar Compartilhar Postado 20 de janeiro de 2012 depois que bloquear a tela aperte duas vezes o botao home e aperte play. vê se é isso que você quer. eu acho que nao é isso nao, mais não custava falar. play Obrigado pela resposta, mas não, isso não funciona. Isso é para continuar tocando o áudio do iPod. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Gabriel Vincent Postado 21 de janeiro de 2012 Autor Denunciar Compartilhar Postado 21 de janeiro de 2012 Consegui a resposta pra essa pergunta. Quem estiver pesquisando isso e cair nesse tópico, tá aqui a resposta: http://stackoverflow.com/questions/8926107/continue-audio-playback-when-iphone-is-locked-like-ipod-app Citar Link para o comentário Compartilhar em outros sites More sharing options...
sanchessd Postado 12 de fevereiro de 2012 Denunciar Compartilhar Postado 12 de fevereiro de 2012 RESSUCITANDO TÓPICO Usei como base este topico para meu app, e a principio funcionou o audio em background, mas estou tendo 2 problemas, o audio fica em background mas caso o usuario receba uma ligação ou fassa uma, o audio para naturalmente, quando o usuario termina a chamada e volta para o app ele termina (congela) de forma inesperada, outro problema é que quando o audio começa a tocar (usuario da um play), deveria aparecer na statusBar o icone do play, como acontece no reprodutor nativo do iPhone e todos aplicativos de audio que trabalhem em MultThread. São 2 problemas que nao sao percebidos logo de cara, pois eu mesmo demorei para ver este problema, mas o codigo possui erro e não tenho como postar algo assim. Tenho que corrigir este problema, alguem conhece algum tutorial ou até mesmo video aulas ou algo do genero ?\ Tenho dificuldades pois nunca fiz nenhum curso de IOS, aprendi tudo na net, acredito que tenha algo para resolver meu problema, mas ja procurei bastante e nao achei nada que me ajudasse. a respeito do meu codigo fiz exatamente o que diz no link do stackoverflow. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Gabriel Vincent Postado 12 de fevereiro de 2012 Autor Denunciar Compartilhar Postado 12 de fevereiro de 2012 RESSUCITANDO TÓPICO Usei como base este topico para meu app, e a principio funcionou o audio em background, mas estou tendo 2 problemas, o audio fica em background mas caso o usuario receba uma ligação ou fassa uma, o audio para naturalmente, quando o usuario termina a chamada e volta para o app ele termina (congela) de forma inesperada, outro problema é que quando o audio começa a tocar (usuario da um play), deveria aparecer na statusBar o icone do play, como acontece no reprodutor nativo do iPhone e todos aplicativos de audio que trabalhem em MultThread. São 2 problemas que nao sao percebidos logo de cara, pois eu mesmo demorei para ver este problema, mas o codigo possui erro e não tenho como postar algo assim. Tenho que corrigir este problema, alguem conhece algum tutorial ou até mesmo video aulas ou algo do genero ?\ Tenho dificuldades pois nunca fiz nenhum curso de IOS, aprendi tudo na net, acredito que tenha algo para resolver meu problema, mas ja procurei bastante e nao achei nada que me ajudasse. a respeito do meu codigo fiz exatamente o que diz no link do stackoverflow. Também fiz o que o Stackoverflow mandou e no meu app aparece o play na status bar. Você definiu uma audio session? Citar Link para o comentário Compartilhar em outros sites More sharing options...
sanchessd Postado 13 de fevereiro de 2012 Denunciar Compartilhar Postado 13 de fevereiro de 2012 (editado) fiz o seguinte: adcionei AudioToolbox , CoreAudio , MediaPlayer e AVFoundation e importei para o viewController entao coloquei este codigo quando o usuario der play UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback;AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (sessionCategory), &sessionCategory);AudioSessionSetActive(true);[/CODE]em info.plistnao achei UIBackgroundModesnao sei se a linha que coloquei equivale, criei uma linha, "Required Backgorund Modes" com o arrey contedo 1 itemneste item defini App plays Audio Editado 13 de fevereiro de 2012 por sanchessd Citar Link para o comentário Compartilhar em outros sites More sharing options...
Gabriel Vincent Postado 13 de fevereiro de 2012 Autor Denunciar Compartilhar Postado 13 de fevereiro de 2012 fiz o seguinte: adcionei AudioToolbox , CoreAudio , MediaPlayer e AVFoundation e importei para o viewController entao coloquei este codigo quando o usuario der play UInt32 sessionCategory = kAudioSessionCategory_MediaPlayback; AudioSessionSetProperty (kAudioSessionProperty_AudioCategory, sizeof (sessionCategory), &sessionCategory); AudioSessionSetActive(true); [/CODE] em info.plist nao achei UIBackgroundModes nao sei se a linha que coloquei equivale, criei uma linha, "Required Backgorund Modes" com o arrey contedo 1 item neste item defini App plays Audio Isso tá certo. Na classe em que você toca o áudio, você setou como delegate de AudioSession e AudioPlayer?[CODE]<AVAudioPlayerDelegate, AVAudioSessionDelegate>[/CODE] Citar Link para o comentário Compartilhar em outros sites More sharing options...
sanchessd Postado 13 de fevereiro de 2012 Denunciar Compartilhar Postado 13 de fevereiro de 2012 pois é, não tinha declarado AVAudioSessionDelegate na classe que o audio vai rodar porem quando atribui ela como delegate recebi o seguinte erro: canot audio find protocol declaration for 'AVAudioSessionDelegate' OBS: todos frameworks estao importados na classe. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Gabriel Vincent Postado 13 de fevereiro de 2012 Autor Denunciar Compartilhar Postado 13 de fevereiro de 2012 pois é, não tinha declarado AVAudioSessionDelegate na classe que o audio vai rodar porem quando atribui ela como delegate recebi o seguinte erro: canot audio find protocol declaration for 'AVAudioSessionDelegate' OBS: todos frameworks estao importados na classe. Acho que isso acontece quando você tenta rodar no simulator. Tenta rodar no aparelho pra ver se vai. Citar Link para o comentário Compartilhar em outros sites More sharing options...
sanchessd Postado 13 de fevereiro de 2012 Denunciar Compartilhar Postado 13 de fevereiro de 2012 Sim , ja testei direto no iPhone, não funciona! audio fica em backgound mas com os erros citados no meu primeiro post, quanto ao icone é o de menos, o problema maior é que quando usuario recebe uma ligaçao quando o audio está tocando o audio para para receber a ligaçao e o app entra em modo de espera, mas quando volta ao app ele congela e se fecha. e nao consegui declarar AVAudioSessionDelegate somente consegui somente AVAudioPlayerDelegate refiz tudo para me certificar, talvez voce tenha algum codigo de exemplo onde é usado este metodo ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Gabriel Vincent Postado 13 de fevereiro de 2012 Autor Denunciar Compartilhar Postado 13 de fevereiro de 2012 Sim , ja testei direto no iPhone, não funciona! audio fica em backgound mas com os erros citados no meu primeiro post, quanto ao icone é o de menos, o problema maior é que quando usuario recebe uma ligaçao quando o audio está tocando o audio para para receber a ligaçao e o app entra em modo de espera, mas quando volta ao app ele congela e se fecha. e nao consegui declarar AVAudioSessionDelegate somente consegui somente AVAudioPlayerDelegate refiz tudo para me certificar, talvez voce tenha algum codigo de exemplo onde é usado este metodo ? Tenho um projeto gigante onde uso isso. Vou te passar. Me manda seu email? Só não sei se você vai conseguir executar o código porque o web service que eu usei pra inserir informações ao app sofreu uma alteração recentemente e ele tá quebrando quando inicia. Citar Link para o comentário Compartilhar em outros sites More sharing options...
sanchessd Postado 13 de fevereiro de 2012 Denunciar Compartilhar Postado 13 de fevereiro de 2012 administrador@bgclassificados.com.br Manda que vou tentar achar meu erro. Citar Link para o comentário Compartilhar em outros sites More sharing options...
sanchessd Postado 13 de fevereiro de 2012 Denunciar Compartilhar Postado 13 de fevereiro de 2012 Dei uma olhada no progeto que me mandou, apenas uma observação que acho ser a causa do problema, no meu ViewController onde o audio será executado tenho em .h @class AudioStreamer;@interface iPhoneStreamingPlayerViewController : UIViewController <AVAudioPlayerDelegate>{.....}[/CODE]note que é uma classe UIViewCotroller, por isso nao consigo delcarar como delegate "AVAudioSessionDelegate"no seu progeto a classe é "NSObject"tentei trocar de UIViewController para NSObject mas o app apresenta erros e não executa mais o audio, tem algo que eu possa fazer para transformar em NSObject ? Citar Link para o comentário Compartilhar em outros sites More sharing options...
Gabriel Vincent Postado 13 de fevereiro de 2012 Autor Denunciar Compartilhar Postado 13 de fevereiro de 2012 Dei uma olhada no progeto que me mandou, apenas uma observação que acho ser a causa do problema, no meu ViewController onde o audio será executado tenho em .h @class AudioStreamer;@interface iPhoneStreamingPlayerViewController : UIViewController <AVAudioPlayerDelegate>{.....}[/CODE]note que é uma classe UIViewCotroller, por isso nao consigo delcarar como delegate "AVAudioSessionDelegate"no seu progeto a classe é "NSObject"tentei trocar de UIViewController para NSObject mas o app apresenta erros e não executa mais o audio, tem algo que eu possa fazer para transformar em NSObject ?Ah, sim, é verdade. É porque você tá tocando um áudio em um ViewController. Eu toco o áudio em um NSObject, porque aí, mesmo que o usuário saia do ViewController onde ele deu play, o áudio continua rolando. Cria um NSObject e coloca todos os comandos de play, pause, tudo relacionado ao AudioPlayer nele. O ViewController só vai enviar a mensagem pro NSObject dizendo o que fazer. Citar Link para o comentário Compartilhar em outros sites More sharing options...
sanchessd Postado 13 de fevereiro de 2012 Denunciar Compartilhar Postado 13 de fevereiro de 2012 (editado) Montei um progeto para exemplo e mandei no seu email, ja tenho uma classe NSObject para rodar o audio, fiz todos os passos mas nao resolveu, o problema perciste, marquei um Warning 'SOM INICIADO' onde o audio começa ser reproduzido, se voce passa pro iPhone vai ver que o audio reproduz em background, mas se receber ou fizer uma ligaçao sem pausar o app, quando voltar para ele ele ira congelar, este é meu problema . Editado 13 de fevereiro de 2012 por sanchessd Citar Link para o comentário Compartilhar em outros sites More sharing options...
Posts Recomendados
Participe do debate
Você pode postar agora e se registrar depois. Se você tem uma conta, entre agora para postar com ela.