Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 通过webview播放Android声音每几秒钟就会中断一次_Java_Android_Audio - Fatal编程技术网

Java 通过webview播放Android声音每几秒钟就会中断一次

Java 通过webview播放Android声音每几秒钟就会中断一次,java,android,audio,Java,Android,Audio,我将以下代码放在不同的java文件下 package com.catching.apples; import java.io.IOException; import android.content.Context; import android.content.res.AssetFileDescriptor; import android.media.MediaPlayer; import android.webkit.JavascriptInterface; public cla

我将以下代码放在不同的java文件下

    package com.catching.apples;

import java.io.IOException;

import android.content.Context;
import android.content.res.AssetFileDescriptor;
import android.media.MediaPlayer;
import android.webkit.JavascriptInterface;

public class AudioInterface {
    Context mContext;

    AudioInterface(Context c) {
        mContext = c;
    }
private static MediaPlayer mp;
    //Play an audio file from the webpage
    @JavascriptInterface
    public void playAudio(String aud) { //String aud - file name passed
        //from the JavaScript function
        final MediaPlayer mp;

        try {
            AssetFileDescriptor fileDescriptor =
                    mContext.getAssets().openFd(aud);
            mp = new MediaPlayer();
            mp.setDataSource(fileDescriptor.getFileDescriptor(),
                    fileDescriptor.getStartOffset(),
                    fileDescriptor.getLength());
            fileDescriptor.close();
            mp.prepare();
            mp.start();
        } catch (IllegalArgumentException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IllegalStateException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }}
我还要补充一点

 mWebView.addJavascriptInterface(new AudioInterface(this), "AndAud");
到我的main_activity.xml

通过我的html代码,我将AndAud.playaudo(“soundfilename.mp3”)


它播放了几次后就停止了。过了一会儿就回来了。

试着看看这个链接是否有帮助。谢谢你的建议,但是没有。