html5 媒体源,使用ajax设置html5媒体源

我需要为我从外部服务器抓取的音频文件提供身份验证标头。所以,现在即时尝试使用ajax,我可以抓住文件,但我不能将它们设置为我的播放器的媒体源。你如何设置ajax加载文件作为音频源?使用ajax设置html5媒体源

编辑

端了它,以防有人固定回来这条路。

if (this.mAudioPlayer.canPlayType("audio/mpeg")) {

this.mExtension = '.mp3';

}else if (this.mAudioPlayer.canPlayType("audio/ogg")) {

this.mExtension = '.ogg';

} else if (this.mAudioPlayer.canPlayType("audio/mp4")) {

this.mExtension = '.m4a';

}

this.CreateAudioData = function() {

//downloading audio for use in data:uri

$.ajax({

url: aAudioSource + this.mExtension + '.txt',

type: 'GET',

context: this,

async: false,

beforeSend: function(xhr) {xhr.setRequestHeader('Authorization', window.userId);},

success: this.EncodeAudioData,

error: function(xhr, aStatus, aError) { HandleError('Audio Error: ' + aStatus); }

});

};

this.EncodeAudioData = function(aData) {

//this.mAudioData = base64_encode(aData);

this.mAudioData = aData;

if (this.mExtension == '.m4a') {

Debug("playing m4a");

this.mAudioSrc = "data:audio/mp4;base64," + this.mAudioData;

} else if (this.mExtension == '.ogg') {

Debug("playing ogg");

this.mAudioSrc = "data:audio/ogg;base64," + this.mAudioData;

} else if (this.mExtension == '.mp3') {

Debug("playing mp3");

this.mAudioSrc = "data:audio/mp3;base64," + this.mAudioData;

}

};

this.play = function() {

if (this.mAudioPlayer.src != this.mAudioSrc) {

this.mAudioPlayer.src = this.mAudioSrc;

}

this.mAudioPlayer.load();

this.mAudioPlayer.play();

};

必须做异步:假,否则我会得到一小块音频,而不是全部。尽管删除异步程序使调试更容易。

2012-09-17

Neablis

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值