如何使用wavesurfer.js在xamarin形式的Android?任何人都可以有想法?

问题描述 投票:-1回答:1

现在,我尝试从内部设备加载文件,

Working code:
enter code here
    wavesurfer.load('file:///assests_content/rooster.wav');
        alert('hi2');

不工作的代码:

    wavesurfer.load('file:///storage/emulated/0/new/rooster.wav');
        alert('hi2');
javascript xamarin wavesurfer.js
1个回答
0
投票

此代码的工作完美,我固定它使用加载文件作为BLOB。

"<html>
            <head>
                <script src=""https://unpkg.com/wavesurfer.js""></script>
                <script src=""wavesurfer.spectrogram.js""></script>
            </head>
            <body>
<h1>Xamarin.Forms</h1>
<p>Welcome to WebView.</p>
    <div id=""waveform""></div>
<div id=""spectrogm""></div>
    <div id=""MyTest"">my divs</div>
    <script>
try{
        alert('hi');
        var wavesurfer = WaveSurfer.create({
            container: '#waveform',
            waveColor: 'violet',
            progressColor: 'purple',
            plugins: [
                    WaveSurfer.spectrogram.create({
                        wavesurfer: wavesurfer,
                        container: ""#spectrogm""
                    })
                ]
        });
            alert('hi2');
}
catch(err)
{
    alert(err.message);
}

function readTextFile(file)
{
try
{
    var blob = null;
    var rawFile = new XMLHttpRequest();
    rawFile.open(""GET"", file);
    rawFile.responseType = ""blob"";//force the HTTP response, response-type header to be blob
    rawFile.onload = function()
        {
            blob = rawFile.response;//xhr.response is now a blob object
            alert('blob');
            wavesurfer.loadBlob(blob);
        }
    rawFile.send();
    alert('completed');
}
catch(err)
{
    alert('error');
    alert(err);
}
}
readTextFile('file:///storage/emulated/0/new/rooster.wav');
© www.soinside.com 2019 - 2024. All rights reserved.