0
我已經編寫了自己的cordova插件來處理擴展文件中的加載媒體。我也建立了自己對播放音頻的基本支持,但在幾分鐘後播放多個音頻文件時遇到一些問題。播放幾個不同文件後,音頻停止工作
會發生什麼第10-20音頻文件將播放沒有問題,但它只是停止播放沒有任何明顯的錯誤。如果等待幾分鐘,有時音頻將會返回。這讓我覺得我沒有妥善處理事情。
項目文件:https://github.com/mcfarljw/cordova-plugin-expansion/blob/master/src/android/Expansion.java
這裏就是我與媒體播放器進行交互的片段:
@Override
public void onPrepared(MediaPlayer media) {
media.start();
}
public void pauseMedia() {
if (media != null && media.isPlaying())
media.pause();
}
public void playMedia(String filename) throws IOException {
if (!this.isPlaying()) {
Log.e("EXPANSION", "Media is currently playing!");
}
if (expansionFile == null) {
Log.e("EXPANSION", "Expansion file not found!");
}
AssetFileDescriptor file = expansionFile
.getAssetFileDescriptor(filename);
if (file == null) {
Log.e("EXPANSION", "Filename '" + filename + "' not found!");
}
if (media != null) {
media.stop();
media.release();
}
media = new MediaPlayer();
media.setDataSource(file.getFileDescriptor(), file.getStartOffset(),
file.getLength());
media.setOnPreparedListener(this);
media.prepareAsync();
}
public void stopMedia() {
if (media != null && media.isPlaying()) {
media.release();
media.stop();
}
}
does logcat sais something? –
對我沒有興趣,但我會仔細看看。只是想知道是否有人看到我在處理媒體播放器時顯然做錯了什麼,可能會導致它。 – Josh