android高性能webviewのcrosswalk
ダウンロードアドレス
Demoエンジニアリングではcrosswalkを自分のプロジェクトに埋め込みやすく、以下に注意すべき点があります.は、パッケージの完全な導入が大きくなるため、コアライブラリをダウンロードする方法を適切に採用し、実行時に動的にロードすることができる.十数Mぐらいの様子で、まだ大きいようです. 筆者の最新バージョンでは、AudioContext.decodeAudioData復号MP 3でエラーが発生し、原因が分からないため、AudioContextを使用してオーディオを再生するとpcm形式のオーディオを直接使用することができ、復号する必要はありません.以下は筆者がテストしたpcmのデモコード: を再生する android互換性や性能の問題は比較的よく解決できますが、h 5ゲームなどの性能を消費するプログラムを実行しなければ、androidが持参したwebviewをそのまま使っても大丈夫です--
Demoエンジニアリングではcrosswalkを自分のプロジェクトに埋め込みやすく、以下に注意すべき点があります.
window.AudioContext = window.AudioContext || window.webkitAudioContext|| window.mozAudioContext;
window.audioContext = new AudioContext();
//audioData: wav , 32 pcm ( !!!!)
function getAudioBuffer(audioData){
// , pcm 。 , , 60。
audioData=audioData.slice(60);
//4 , AudioBuffer 4
var frames=parseInt(audioData.byteLength/4);
//1 1 , wav 。
//frames
//32000 , 1
var buffer = window.audioContext.createBuffer(1,frames, 32000);
var aBuf=audioData.slice(0,frames*4);
var arrBuffer=new Float32Array(aBuf);
if (buffer.copyToChannel) {
// AudioBuffer 0 。 ,
buffer.copyToChannel(arrBuffer, 0, 0)
} else {
var channelBuffer = buffer.getChannelData(0);
channelBuffer.set(arrBuffer);
}
return buffer;
}
function play(audioBuffer){
var audioBufferSouceNode = audioContext.createBufferSource();
audioBufferSouceNode.buffer = audioBuffer;
source.connect(audioContext.destination);
// , ,
audioBufferSouceNode.start(0, 0);
}