java short 0x1_Android手机音频应用程序返回java.io.IOException:准备失败:状态= 0x1错误...

我的音乐应用程序返回java.io.IOException:准备失败:第8首mp3音轨播放后或同一音轨播放8次后,status = 0x1错误。

我正在使用标准的电话媒体API来运行音频,以下是代码:

// The Audio player

var my_media = null;

var mediaTimer = null;

// duration of media (song)

var dur = -1;

// need to know when paused or not

var is_paused = false;

//Set audio position on page

function setAudioPosition(position) {

$("#audio_position").html(position + " sec");

}

//onSuccess Callback

function onSuccess() {

setAudioPosition(dur);

clearInterval(mediaTimer);

mediaTimer = null;

my_media = null;

is_paused = false;

dur = -1;

}

//onError Callback

function onError(error) {

alert('code: ' + error.code + '\n' +

'message: ' + error.message + '\n');

clearInterval(mediaTimer);

mediaTimer = null;

my_media = null;

is_paused = false;

setAudioPosition("0");

}

function playAudio(src) {

if (my_media === null) {

// ui niceties

$("#media_dur").html("0");

$("#audio_position").html("Loading...");

// Create Media object from src

my_media = new Media(src, onSuccess, onError);

// Play audio

//alert('Playing Audio');

my_media.play();

} else {

if (is_paused) {

// to resume where paused in song: call .play()

is_paused = false;

my_media.play();

}

}

// Update my_media position every second

if (mediaTimer === null) {

mediaTimer = setInterval(function() {

my_media.getCurrentPosition(

// success callback

function(position) {

if (position > -1) {

setAudioPosition(Math.round(position));

// getDuration() can take a few seconds so keep trying

// this could be done a better way, no callback for it

if (dur <= 0) {

dur = my_media.getDuration();

if (dur > 0) {

dur = Math.round(dur);

$("#media_dur").html(dur);

}

}

}

},

// error callback

function(e) {

alert("Error getting pos=" + e);

setAudioPosition("Error: " + e);

}

);

}, 1000);

}

}

//Pause audio

function pauseAudio() {

if (is_paused) return;

if (my_media) {

is_paused = true;

my_media.pause();

}

}

//Stop audio

function stopAudio() {

if (my_media) {

// A successful .stop() will call .release()

my_media.stop();

my_media = null;

}

if (mediaTimer) {

clearInterval(mediaTimer);

mediaTimer = null;

}

is_paused = false;

dur = 0;

}

$('#page-basics').live('pageinit',function(){

$(".pl").live('tap', function() {

var ind = $(".pl").index(this);

var src = "/android_asset/" + ind + ".mp3";

playAudio(src);

});

$("#pauseaudio").live('tap', function() {

pauseAudio();

});

$("#stopaudio").live('tap', function() {

stopAudio();

});

});

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值