2013-06-23 82 views
0

我创造了新的的Android应用程序,因为它显示静态信息,我创造了HTML5,我打电话给我的WebView HTML5文件的我的HTML文件中的一个功能是发挥MP3当点击按钮时,我做了我的html和android界面,但是当我在设备上测试项目时,我有这个消息应用程序意外停止。 我有这个项目从教程本教程没有扩展活动,但当我删除它扩展活动错误发生“方法创建(上下文,int)的类型MediaPlayer不适用于参数(WebAppInterface,int)” 。应用程序意外终止时播放声音

public class WebAppInterface extends Activity { 
Context mContext; 
MediaPlayer mp; 


WebAppInterface(Context c) { 
    mContext = c; 
} 


@JavascriptInterface 

public void playsound() { 
    mp=MediaPlayer.create(WebAppInterface.this, R.raw.sound); 

} 

}

<input type="button" value="play mp3" onClick="playmp3()" /> 
<script type="text/javascript"> 
function playmp3() 
    { 
     Android.playsound(); 
    } 
</script> 

06-23 15:46:20.250:E/AndroidRuntime(338):致命异常: WebViewCoreThread 06-23 15:46:20.250:E/AndroidRuntime(338):java.lang.NullPointerException 06-23 15:46:20.250:E/AndroidRuntime(338):at android.content.ContextWrapper.getResources(ContextWrapper。 java:80) 06-23 15:46:20.250:E/AndroidRuntime(338):at android.media.MediaPlayer.create(MediaPlayer.java:641) 06-23 15:46:20.250:E/AndroidRuntime 338):at com.ramadan.WebAppInterface.showToast(WebAppInterface.java:23) 06-23 15:46:20.250:E/AndroidRuntime(338):at android.webkit.WebViewCore.nativeTouchUp(Native Method) 06- 23 15:46:20.250:E/AndroidRuntime(338):at android.webkit.WebViewCore.nativeTouchUp(Native Method) 06-23 15:46:20.250:E/AndroidRuntime(338):at android.webkit.WebViewCore。访问3300美元(WebViewCore.java:52) 06-23 15:46:20.250:E/AndroidRuntime(338):在android.webkit.WebViewCore $ EventHub $ 1.handleMessage(WebViewCore.java:1150) 06-23 15:46:20.250:E/AndroidRuntime(338):at android.os.Handler.dispatchMessage(Handler.java:99) 06-23 15:46:20.250:E/AndroidRuntime(338):at android.os.Looper.loop(Looper.java:123) 06-23 15:46:20.250:E/AndroidRuntime(338):at android.webkit.WebViewCore $ WebCoreThread.run(WebViewCore.java:621) 06-23 15:46:20.250:E/AndroidRuntime(338):at java.lang.Thread.run(Thread.java:1096)

+1

请张贴logcat的痕迹。 – Evilunclebill

+0

检查STREAM_MUSIC的音量水平 – Houcine

+0

我编辑问题 – egydeveloper

回答

0

问题在这里

<code> 



public void playsound() { 

    MediaPlayer mp= MediaPlayer.create(mContext,R.raw.sound); 
    mp.start(); 

} 

我换成mContext WebAppInterface.this,效果不错