Нет звука в Webview - PullRequest
       33

Нет звука в Webview

1 голос
/ 11 декабря 2011

У меня проблема, что у меня нет звука при просмотре в Интернете. На родном браузере на андроиде звук работает.

Звук - это вспышка.

Если вы хотите увидеть, вы можете открыть http://www.colourmonics.de/android/android16

Вот мой сценарий:

package C.K;


import android.app.Activity;
import android.content.Context;
import android.media.AudioManager;
import android.os.Bundle;
import android.view.KeyEvent;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.webkit.WebChromeClient;


public class ColourmonicsKeyboardActivity extends Activity {
    /** Called when the activity is first created. */
    WebView mWebView;   
    @Override
    public void onCreate(Bundle savedInstanceState) 
    {    super.onCreate(savedInstanceState);   
         audio = (AudioManager) getSystemService(Context.AUDIO_SERVICE);
         setContentView(R.layout.main);   
         if (savedInstanceState != null){
             ((WebView)findViewById(R.id.webview)).restoreState(savedInstanceState);
         } else {       
         mWebView = (WebView) findViewById(R.id.webview);    
         mWebView.getSettings().setJavaScriptEnabled(true);    
         mWebView.getSettings().setAllowFileAccess(true);
         mWebView.getSettings().setPluginsEnabled(true);
         mWebView.getSettings().setPluginState(WebSettings.PluginState.ON);
         mWebView.setWebChromeClient(new WebChromeClient()); 
         mWebView.setWebViewClient(new MyWebViewClient());
         mWebView.loadUrl("http://www.colourmonics.de/android/android16");
         }
    }
    private AudioManager audio;
    protected void onSaveInstanceState(Bundle outState) {
        mWebView.saveState(outState);
    }

      @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        switch (keyCode) {
        case KeyEvent.KEYCODE_VOLUME_UP:
            audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                    AudioManager.ADJUST_RAISE, AudioManager.FLAG_SHOW_UI);
            return true;
        case KeyEvent.KEYCODE_VOLUME_DOWN:
            audio.adjustStreamVolume(AudioManager.STREAM_MUSIC,
                    AudioManager.ADJUST_LOWER, AudioManager.FLAG_SHOW_UI);
            return true;
        default:
            return false;
        }
    }
}

Спасибо

1 Ответ

0 голосов
/ 30 сентября 2013

У меня была проблема симуляции. Я добавлю javascriptinterface к своему веб-представлению. Затем вызовите метод, воспроизводящий звук на нативном Java.

...