2011-12-06 43 views
2

我在Webview中播放聲音時遇到了問題。 我想在背景中播放聲音,通過點擊一個按鈕來打開它。 目前我使用folowwing腳本,但是當我點擊按鈕時打開一個新窗口。Webview中的聲音

package C.K; 

import android.content.Intent; 
import android.net.Uri; 
import android.webkit.WebView; 
import android.webkit.WebViewClient; 

final class MyWebViewClient extends WebViewClient { 
    @Override  
    public boolean shouldOverrideUrlLoading(WebView view, String url) 
    {   
     if (url.endsWith(".mp3")) {    
      Intent intent = new Intent(Intent.ACTION_VIEW); 
      intent.setDataAndType(Uri.parse(url), "audio/*"); 
      view.getContext().startActivity(intent); 

      return true; 
      } else { 
       return super.shouldOverrideUrlLoading(view, url); 
       }  } } 

誰能幫幫我?

回答

1

你書面方式代碼是打開一個新窗口 只要你會點擊鏈接,在網頁 .mp3文件

存儲在應用程序文件所在的文件 資產或生或它的一個網址

這是保存在原文件夾播放從網頁視圖文件,而不開擴新窗口 音頻文件的代碼

 @Override  
     public boolean shouldOverrideUrlLoading(WebView view, String url) 
     {   
       if (url.endsWith(".mp3")) {  
       String temp1=url.replace(".mp3", "");  
       playaudio(temp1); 

       return true; 
     }  
     return true; 
} 


     private void playaudio(String url){ 
     String s=url; 
     int i=getResources().getIdentifier(s,"raw",getPackageName()); 
     Log.v("name of file",""+s); 
     Log.v("id of file",""+i); 
     if(i!=0){ 
     MediaPlayer player = new MediaPlayer().create(getBaseContext(),i);; 
     player.setVolume(0.9f, 0.9f); 
     player.start(); 
     } 
    }