2012-03-02 1 views
1

Я пытаюсь разработать основанные на спектре живые обои, которые будут меняться, когда музыка играет или кто-то касается экрана, для Android 2.3 и выше. Проблема заключается в том, что мне нужно, чтобы получить идентификатор сессии инициализации визуализатора так ...Получить идентификатор сеанса от android MEDIA PLAYER?

Как я могу получить SESSIONID от андроида

И было бы хорошо, если бы вы могли бы показать мне, как нужно инициализировать визуализатор правильно получить данные FFT или альтернативные способы получения данных fft.

ответ

2

Идентификатор звуковой сессии по умолчанию - 0 (он будет реагировать на все звуковые данные - музыка, системные звуки).

И Инициализировать визуализатор, чтобы получить FFT один способ:

Visualizer viz = new Visualizer(0); 
viz.setCaptureSize(Visualizer.getCaptureSizeRange()[1]); 

     viz.setDataCaptureListener(new OnDataCaptureListener() { 

      @Override 
      public void onWaveFormDataCapture(Visualizer arg0, byte[] arg1, int arg2) { 
       //Wave procesing here 

      } 
      @Override 
      public void onFftDataCapture(Visualizer arg0, byte[] arg1, int arg2) { 
       //FFT procesing here! 
       } 


     }, Visualizer.getMaxCaptureRate(), true, true); 
     viz.setEnabled(true); 

А другой будет выглядеть следующим образом:

Visualizer viz = new Visualizer(0); 
     viz.setCaptureSize(Visualizer.getCaptureSizeRange()[1]); 
    viz.setEnabled(true); 
//to get data use viz.getFft(fftdata); 
    viz.getFft(fftdata); 

И манифеста вам нужно добавить некоторые premisions:

<uses-permission android:name="android.permission.RECORD_AUDIO"/> 
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/> 
+0

Вы отпустили какие-либо приложения, используя это? Я сделал, и я получаю много сообщений об этом, только работая с некоторыми медиаплеерами на Galaxy Nexus и Galaxy S3. Для меня это не имеет смысла, так как я думаю, что выходной сигнал включает звук от всех медиаплееров во всех случаях. – Tenfour04

+0

@ TenFour04 Я выпустил одно приложение, используя это, но моя проблема в том, что он не работает с радио на старых устройствах. – J1and1

+0

Интересно, что радио не работает. Когда у меня будет время, я попытаюсь посмотреть, есть ли способ запросить все активные сеансы аудио, а затем проверить каждый из них. Не уверен, что это хорошее решение, потому что вам придется постоянно вытаскивать FFT из разных сессий, чтобы узнать, есть ли у кого-нибудь звук. – Tenfour04