2017-05-30 4 views
1

Je développe une application dans le streaming en direct Android. Je peux diffuser les vidéos en direct sur la chaîne YouTube. Mais le problème était de ne pas avoir d'audio dans cette vidéo en direct.Obtenir un problème audio sur Youtube Live streaming dans l'application Android

Mon code comme ci-dessous

private static final int frequency= 44100; 
    public void recordThread() { 
      Log.d(MainActivity.APP_NAME, "recordThread"); 

      int audioEncoding = AudioFormat.ENCODING_PCM_16BIT; 
      int channelConfiguration = AudioFormat.CHANNEL_IN_STEREO; 
      int bufferSize = AudioRecord.getMinBufferSize(frequency, channelConfiguration, audioEncoding); 
      Log.i(MainActivity.APP_NAME, "AudioRecord buffer size: " + bufferSize); 

      // 16 bit PCM stereo recording was chosen as example. 
      AudioRecord recorder = new AudioRecord(MediaRecorder.AudioSource.MIC, frequency, channelConfiguration, 
        audioEncoding, bufferSize); 
      recorder.startRecording(); 

      // Make bufferSize be in samples instead of bytes. 
      bufferSize /= 2; 
      short[] buffer = new short[bufferSize]; 
      while (!cancel) { 
       int bufferReadResult = recorder.read(buffer, 0, bufferSize); 
       // Utils.Debug("bufferReadResult: " + bufferReadResult); 
       if (bufferReadResult > 0) { 
        frameCallback.handleFrame(buffer, bufferReadResult); 
       } else if (bufferReadResult < 0) { 
        Log.w(MainActivity.APP_NAME, "Error calling recorder.read: " + bufferReadResult); 
       } 
      } 
      recorder.stop(); 

      Log.d(MainActivity.APP_NAME, "exit recordThread"); 
     } 

s'il vous plaît certains me suggèrent la solution pour sortir de ce problème.

Répondre

1

Recherche dans github. Vous y trouverez un exemple de projet (yasea) pour l'encodage audio. Entre ces deux projets, vous obtiendrez la solution.