2013-11-02 32 views
0

你好SO社區,android的webkit音頻工作4.1.2及以下,但不是以上?

我正在做一個應用程序的Android使用HTML和JS和Web視圖。該應用在按鈕點擊(html)上播放聲音。多謝你(這樣的人)我可以使它工作中使用此代碼:JAVA =

myJSInterface = new MyJSInterface(getApplicationContext()); 
    webview.addJavascriptInterface(myJSInterface, "Android"); 

公共類MyJSInterface {

Context mcontext; 
    MediaPlayer mp; 

    MyJSInterface(Context c) { 
     mcontext = c; 
    } 
    public void MyAudioPlayer01(int audio) { 
     /** play sound from the web page */ 
     if (issound) { 
      Integer[] soundid = { null, null, R.raw.s01, R.raw.s02, 
        R.raw.s28, null, null, R.raw.xdhiboun, }; 

      if (soundid[audio] != null) { 
       mp = MediaPlayer.create(mcontext, soundid[audio]); 
       mp.start(); 
       mp.setOnCompletionListener(new OnCompletionListener() { 
        @Override 
        public void onCompletion(MediaPlayer mp) { 
         mp.release(); 
         mp = null; 
        } 
       }); 
      } 
     } 
    } 

我打電話通過JS上面的代碼:js代碼=

Android.MyAudioPlayer01(audio); 

這適用於Android 4.1.2,但不是上面!

你能提出一些建議嗎(我一直在搜索整個一天)?

我也試過的Soundpool沒有運氣:-(

有什麼事情做JS和網頁流量安全更新?我是否需要添加更多的權限,新的Android版本?是媒體播放器過時了嗎?...

謝謝您的幫助

回答

0

我發現這個問題:

注意:如果您已經設置您的targetSdkVersion到17或更高,則必須 將@JavascriptInterface註釋添加到您希望可用於您的JavaScript的 的任何方法(該方法也必須是公開的)。如果您的 未提供註釋,則在Android 4.2或更高版本上運行時,您的 網頁無法訪問該方法。

現在一切工作正常與mediaplayer和soundpool。

YOUPI :-)

謝謝大家,和平。

相關問題