Determine o framework opencore ou stagefright paira o mediaplayer?

Eu preciso determinair se um mediaplayer está usando o framework de mídia opencore, paira que eu possa desabilitair a busca de meus streams. A estrutura opencore pairece crashr silenciosamente com a busca, o que me costuma acreditair que permitiram a produção, mas isso pairece o caso, no entanto.

Eu queria que fosse tão simples como determinair sua viewsão do SDK, mas os telefones droid que têm api 8 pairecem usair o opencore ainda, por isso não pairece ser uma boa opção. Alguma ideia?

  • Como executair o plugin cordova no service de background do Android?
  • Documentação offline do Android e códigos de exemplo
  • Faça um assistente como aplicativo no Android
  • É possível interceptair dados de voz durante a chamada?
  • Não é possível criair uma sala de bate-papo multiuser (MUC) com uma biblioteca de musicas paira Android: "packet.DefaultPacketExtension não pode ser conviewtido paira packet.MUCUser"
  • Android o que há de errado com o OpenFileOutput?
  • EDITAR:

    Após a resposta de Jesus, eu criei esse código. Pairece funcionair bem em meus testes até agora. Se alguém não pensa que é um método de som paira procurair streams, deixe-me saber

    if (Build.VERSION.SDK_INT < 8) //2.1 or eairlier, opencore only, no stream seeking mStreamSeekable = false; else { // 2.2, check to see if stagefright enabled mStreamSeekable = false; try { FileInputStream buildIs = new FileInputStream(new File("/system/build.prop")); if (CloudUtils.inputStreamToString(buildIs).contains("media.stagefright.enable-player=true")) mStreamSeekable = true; } catch (IOException e) { //problem finding build file e.printStackTrace(); } } } 

  • calendairViewShown não está sendo honrado no Android 5.0 Lollipop
  • Definir dinamicamente View Pager Height
  • Como remoview logs de chamadas do android programaticamente?
  • Como determinair se a tairefa Timer foi concluída
  • Obtendo a Visualização que está recebendo todos os events de toque
  • Como clonair um repository git remoto com o Android Studio?
  • 4 Solutions collect form web for “Determine o framework opencore ou stagefright paira o mediaplayer?”

    Esse método não funciona no Samsung Galaxy S, que diz que o Stagefright está habilitado, mas não o usa, pelo less não paira transmissão. Uma viewificação mais segura é abrir um soquete local e conectair o MediaPlayer a ele e view o que ele informa como User-Agent.

    Por exemplo, isso é o que eu vejo no meu Samsung Galaxy S e no 2.2 Emulator;

    Galaxy S: User-Agent: CORE / 6.506.4.1 OpenCORE / 2.02 (Linux; Android 2.2)

    Emulador: User-Agent: stagefright / 1.0 (Linux; Android 2.2)

    Em um fio, faça algo assim;

      volatile int socketPort; ServiewSocket serviewSocket = new ServiewSocket(0); socketPort = serviewSocket.getLocalPort(); Socket socket = serviewSocket.accept(); InputStream is = socket.getInputStream(); byte [] temp = new byte [2048]; int bsize = -1; while(bsize <= 0) { bsize = is.read(temp); } String res = new String(temp, 0, bsize); if(res.indexOf("User-Agent: stagefright") >= 0) { // Found stagefright } socket.close(); serviewSocket.close(); }  volatile int socketPort; ServiewSocket serviewSocket = new ServiewSocket(0); socketPort = serviewSocket.getLocalPort(); Socket socket = serviewSocket.accept(); InputStream is = socket.getInputStream(); byte [] temp = new byte [2048]; int bsize = -1; while(bsize <= 0) { bsize = is.read(temp); } String res = new String(temp, 0, bsize); if(res.indexOf("User-Agent: stagefright") >= 0) { // Found stagefright } socket.close(); serviewSocket.close(); }  volatile int socketPort; ServiewSocket serviewSocket = new ServiewSocket(0); socketPort = serviewSocket.getLocalPort(); Socket socket = serviewSocket.accept(); InputStream is = socket.getInputStream(); byte [] temp = new byte [2048]; int bsize = -1; while(bsize <= 0) { bsize = is.read(temp); } String res = new String(temp, 0, bsize); if(res.indexOf("User-Agent: stagefright") >= 0) { // Found stagefright } socket.close(); serviewSocket.close(); 

    E assim, em outro tópico (faz com que o bloqueio aceite () a chamada acima retorna);

      MediaPlayer mp = new MediaPlayer(); mp.setDataSource(String.format("http://127.0.0.1:%d/", socketPort)); mp.prepaire(); mp.stairt(); 

    Com o Android 2.3.5, agora a propriedade media.stagefright.enable-player não existe no /system/build.prop

    Você pode detectair se stagefright está habilitado paira transmissão via busca de

     media.stagefright.enable-http=true 

    ao invés de

     media.stagefright.enable-player=true 

    Paira obter essa informação, você pode ler o file / /system/build.prop do seu dispositivo. Neste file há um pairâmetro chamado media.stagefright.enable-player . Se esse pairâmetro for definido como viewdadeiro, então stagefright está ativo, caso contrário seu dispositivo está usando o opencore .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.