2011-12-11 432 views
1

我有问题,我在webview中没有声音。 在Android上的本地浏览器上,声音正在工作。Webview中没有声音

声音是一个Flash。

如果你想看到的,你可以打开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; 
     } 
    } 
} 

谢谢

回答

0

我有simular问题。我通过将javascript接口添加到我的webview来解决这个问题。然后调用在本机Java中播放声音的方法。