android高性能webviewのcrosswalk


ダウンロードアドレス
Demoエンジニアリングではcrosswalkを自分のプロジェクトに埋め込みやすく、以下に注意すべき点があります.
  • は、パッケージの完全な導入が大きくなるため、コアライブラリをダウンロードする方法を適切に採用し、実行時に動的にロードすることができる.十数Mぐらいの様子で、まだ大きいようです.
  • 筆者の最新バージョンでは、AudioContext.decodeAudioData復号MP 3でエラーが発生し、原因が分からないため、AudioContextを使用してオーディオを再生するとpcm形式のオーディオを直接使用することができ、復号する必要はありません.以下は筆者がテストしたpcmのデモコード:
  • を再生する
    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);
    }
  • android互換性や性能の問題は比較的よく解決できますが、h 5ゲームなどの性能を消費するプログラムを実行しなければ、androidが持参したwebviewをそのまま使っても大丈夫です--