国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
Gunakan JavaScript untuk memecah aliran gumpalan yang direkodkan dan menghasilkan fail wav 5 saat
Rumah hujung hadapan web tutorial js Bagaimana untuk memisahkan aliran gumpalan yang direkodkan ke dalam beberapa fail wav 5 saat menggunakan JavaScript dan pastikan ia bermain secara normal?

Bagaimana untuk memisahkan aliran gumpalan yang direkodkan ke dalam beberapa fail wav 5 saat menggunakan JavaScript dan pastikan ia bermain secara normal?

Apr 04, 2025 pm 02:39 PM
nodejs pelayar ai

Gunakan JavaScript untuk memecah aliran gumpalan yang direkodkan dan menghasilkan fail wav 5 saat

Apabila merakam menggunakan React-Mic, saya menghadapi keperluan: Saya perlu memecah aliran BLOB yang direkodkan ke dalam fail WAV 5 saat. Walau bagaimanapun, selepas mencuba, saya mendapati bahawa hanya fail WAV berpecah pertama yang boleh dimainkan secara normal, dan seluruh fail diminta untuk rosak.

Apabila melaksanakan keperluan ini di bahagian depan, kami menghadapi dua cabaran: satu adalah cara untuk segmen aliran gumpalan yang betul, dan yang lain adalah bagaimana untuk memastikan setiap klip bersegmen dapat menghasilkan dan memainkan fail WAV dengan betul. Berikut adalah contoh kod dan penyelesaian:

 Import React, {useref, useState} dari 'React'
import {reactmic, reactmicstopevent} dari 'react-mic'
import {butang} dari 'antd'

const audiorecorder = () => {
    const [rekod, setRecord] = useState (palsu)
    const resref = useref <blob> ([])
    const audiochunksref = useref <blob> ([])
    const intervalRef = useref <nodejs.timer null> (null)
    const firstBlob = useref <blob undefined> (undefined)

    const createewavheader = (numChannels, samplerate, bytelength) => {
        header const = ArrayBuffer baru (44);
        Const View = DataView baru (header);

        view.setuint32 (0, 1380533830, palsu); // "riff"
        view.setuint32 (4, bytelength 36, false);
        view.setuint32 (8, 1718449184, palsu); // "Gelombang"
        view.setuint32 (12, 1684108385, palsu); // "fmt"
        view.setuint32 (16, 16, benar); // 16 untuk PCM
        view.setuint16 (20, 1, benar); // pcm
        view.setuint16 (22, numchannels, true);
        view.setuint32 (24, samplerate, true);
        view.setuint32 (28, samplerate * numchannels * 2, true);
        view.setuint16 (32, numchannels * 2, true);
        view.setuint16 (34, 16, benar); // 16 bit
        view.setuint32 (36, 1684108385, palsu); // "Data"
        view.setuint32 (40, bytelength, true);

        header kembali;
    };

    const saveFile = async () => {
        const chunkslist = resref.current;
        untuk (biarkan i = 0; i <chunkslist.length i const audiobuffer="new" uint8array chunkslist .arraybuffer header audiobuffer.length menganggap mono dan wavblob="new" blob url="url.createObjectUrl" a="document.createElement" a.href="url;" a.download="`rakaman" .wav a.click url.revokeobjecturl startrecording="()"> {
        setRecord (benar)
        audiochunksref.current = [] // Kosongkan data rakaman sebelumnya // berpecah intervalref.current rakaman = setInterval (() => {
            const curblob = gumpalan baru (audiochunksref.current, {type: 'audio/wav'})
            const startIndex = audiochunksref.current.indexof (firstblob.current as gumpalan)
            const blob = curblob.slice (startIndex === -1? 0: startIndex, -1, 'audio/wav')
            FirstBlob.Current = audiochunksref.current.at (-1)
            // Proses Console.log data rakaman semasa ('Segmen data rakaman semasa:', gumpalan)
            resref.current.push (gumpalan)
        }, 5000)
    }

    const stopRecording = () => {
        setRecord (palsu)
        intervalref.current && clearInterval (intervalref.current) // pemasa yang jelas}

    const ondata = (RECOREDBLOB: Blob) => {
        audiochunksref.current.push (recordedBlob) // simpan data rakaman}

    const onStop = (recordedBlob: reactMicStOpEvent) => {
        Console.log ('Dirakam selesai:', RECOREDBLOB)
    }

    const saveFile1 = () => {
        const chunkslist = resref.current
        chunkslist.map (async (v, i) => {
            const filename = 'aaa.wav'
            Const File: File = File Baru ([V], FileName, {Type: 'Audio/Wav'})
            const fileSize = file.size

            Console.log ('FileSize', memfailkan)
            // Buat pautan muat turun const url = url.createObjectUrl (fail)
            const a = document.createeelement ('a')
            A.Href = url
            a.download = `Rakaman $ {i} .wav` // Tetapkan nama fail muat turun a.click () // Trigger Download // Release URL Sumber Url.RevokeObjectUrl (URL)
        })
    }

    const saveFinalResult = () => {
        const filename = 'aaa.wav'
        Const File: File = File Baru (AudioChunksRef.Current, FileName, {Type: 'Audio/Wav'})
        const fileSize = file.size

        Console.log ('FileSize', memfailkan)
        // Buat pautan muat turun const url = url.createObjectUrl (fail)
        const a = document.createeelement ('a')
        A.Href = url
        a.download = `rakaman $ {date.now ()}. wav` // tetapkan nama fail muat turun a.click () // Trigger Download // Release URL Sumber URL.RevokeObjectUrl (URL)
    }

    Kembali (
        <dana>
            <reactmic record="{record}" onstop="{onStop}" ondata="{ondata}" mimetype="audio /wav"></reactmic>
            <butang onclick="{startrecording}"> Mula rakaman </butang>
            <butang onclick="{stopRecording}"> berhenti rakaman </butang>
            <butang onclick="{SaveFile}"> muat turun </butang>
            <button onclick="{SaveFinalResult}"> Muat turun Final </button>
        
    )
}

Eksport audiorecorder lalai</dana></chunkslist.length></blob></nodejs.timer></blob></blob>

Semasa proses cuba memecah aliran gumpalan dan menghasilkan fail WAV, didapati secara manual menambah maklumat header WAV tidak akan menyelesaikan masalah. Sebabnya ialah struktur fail WAV agak ketat. Jika maklumat header tidak ditambah dengan betul selepas segmentasi, fail mungkin rosak.

Satu cadangan untuk menyelesaikan masalah ini ialah menggunakan versi WASM FFMPEG, perpustakaan audio dan pemprosesan video yang boleh dijalankan dalam penyemak imbas. Dengan itu, anda boleh dengan mudah segmen audio dan menghasilkan format fail WAV yang betul. Anda boleh mempertimbangkan menggunakan projek ffmpeg.wasm untuk melaksanakan fungsi ini.

Atas ialah kandungan terperinci Bagaimana untuk memisahkan aliran gumpalan yang direkodkan ke dalam beberapa fail wav 5 saat menggunakan JavaScript dan pastikan ia bermain secara normal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Agnes Tachyon Build Guide | Musume Derby Pretty
2 minggu yang lalu By Jack chen
Oguri Cap Build Guide | Musume Derby Pretty
2 minggu yang lalu By Jack chen
Puncak: Cara Menghidupkan Pemain
4 minggu yang lalu By DDD
Puncak bagaimana untuk emote
3 minggu yang lalu By Jack chen

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Aliran dana di rantai terdedah: apakah token baru yang ditaruh oleh wang pintar? Aliran dana di rantai terdedah: apakah token baru yang ditaruh oleh wang pintar? Jul 16, 2025 am 10:15 AM

Pelabur biasa dapat menemui token yang berpotensi dengan menjejaki "Wang Pintar", yang merupakan alamat keuntungan tinggi, dan memberi perhatian kepada trend mereka dapat memberikan petunjuk utama. 1. Gunakan alat seperti Nansen dan Arkham Intelligence untuk menganalisis data pada rantai untuk melihat pembelian dan pegangan wang pintar; 2. Gunakan analisis dune untuk mendapatkan papan pemuka yang dicipta oleh komuniti untuk memantau aliran dana; 3. Ikuti platform seperti Lookonchain untuk mendapatkan kecerdasan masa nyata. Baru-baru ini, wang Cangming merancang untuk memoles semula trek LRT, projek depin, ekosistem modular dan protokol RWA. Sebagai contoh, protokol LRT tertentu telah memperoleh sejumlah besar deposit awal, projek Depin tertentu telah terkumpul secara berterusan, rantaian awam permainan tertentu telah disokong oleh Perbendaharaan Industri, dan protokol RWA tertentu telah menarik institusi untuk masuk.

Yang sesuai untuk stablecoin dai_ analisis senario penggunaan stablecoin yang terdesentralisasi Yang sesuai untuk stablecoin dai_ analisis senario penggunaan stablecoin yang terdesentralisasi Jul 15, 2025 pm 11:27 PM

DAI sesuai untuk pengguna yang melampirkan kepentingan konsep desentralisasi, secara aktif mengambil bahagian dalam ekosistem defi, memerlukan kecairan aset rantaian silang, dan mengejar ketelusan dan autonomi aset. 1. Penyokong konsep desentralisasi kepercayaan kontrak pintar dan tadbir urus komuniti; 2. Pengguna Defi boleh digunakan untuk pinjaman, ikrar, dan perlombongan kecairan; 3. Pengguna rantaian boleh mencapai pemindahan fleksibel aset pelbagai rantaian; 4. Peserta tadbir urus dapat mempengaruhi keputusan sistem melalui pengundian. Senario utamanya termasuk pinjaman terdesentralisasi, lindung nilai aset, perlombongan kecairan, pembayaran rentas sempadan dan tadbir urus komuniti. Pada masa yang sama, perlu memberi perhatian kepada risiko sistem, risiko turun naik gadai janji dan isu ambang teknikal.

Bagaimana mengenal pasti altcoin palsu? Ajar anda untuk mengelakkan penipuan cryptocurrency Bagaimana mengenal pasti altcoin palsu? Ajar anda untuk mengelakkan penipuan cryptocurrency Jul 15, 2025 pm 10:36 PM

Untuk mengenal pasti altcoin palsu, anda perlu bermula dari enam aspek. 1. Semak dan sahkan latar belakang bahan dan projek, termasuk kertas putih, laman web rasmi, alamat sumber terbuka kod dan ketelusan pasukan; 2. Perhatikan platform dalam talian dan berikan keutamaan kepada pertukaran arus perdana; 3. Berhati-hati dengan pulangan yang tinggi dan mod penarik orang untuk mengelakkan perangkap dana; 4. Menganalisis Kod Kontrak dan Mekanisme Token untuk memeriksa sama ada terdapat fungsi berniat jahat; 5. Semakan operasi komuniti dan media untuk mengenal pasti populariti palsu; 6. Ikuti cadangan anti-penipuan praktikal, seperti tidak mempercayai cadangan atau menggunakan dompet profesional. Langkah -langkah di atas secara berkesan dapat mengelakkan penipuan dan melindungi keselamatan aset.

Bitcoin, Chainlink, dan RWA Resonance Rise: Crypto Market memasuki logik institusi? Bitcoin, Chainlink, dan RWA Resonance Rise: Crypto Market memasuki logik institusi? Jul 16, 2025 am 10:03 AM

Kenaikan bitcoin, chainlink dan RWA yang diselaraskan menandakan pergeseran ke arah dominasi naratif institusi di pasaran crypto. Bitcoin, sebagai aset lindung nilai makro yang diperuntukkan oleh institusi, menyediakan asas yang stabil untuk pasaran; Chainlink telah menjadi jambatan utama yang menghubungkan realiti dan dunia digital melalui teknologi oracle dan rentas rantaian; RWA menyediakan laluan pematuhan untuk kemasukan modal tradisional. Ketiga -tiga bersama -sama membina gelung tertutup logik yang lengkap untuk kemasukan institusi: 1) memperuntukkan BTC untuk menstabilkan kunci kira -kira; 2) memperluaskan pengurusan aset rantaian melalui RWA; 3) Bergantung pada Chainlink untuk membina infrastruktur yang mendasari, menunjukkan bahawa pasaran telah memasuki tahap baru yang didorong oleh permintaan sebenar.

Mana yang lebih baik, dai atau usdc? _Is dai sesuai untuk pegangan jangka panjang? Mana yang lebih baik, dai atau usdc? _Is dai sesuai untuk pegangan jangka panjang? Jul 15, 2025 pm 11:18 PM

Adakah Dai sesuai untuk pegangan jangka panjang? Jawapannya bergantung kepada keperluan individu dan keutamaan risiko. 1. Dai adalah stablecoin yang terdesentralisasi, yang dihasilkan oleh cagaran yang berlebihan untuk aset crypto, sesuai untuk pengguna yang mengejar rintangan dan ketelusan penapisan; 2. Kestabilannya sedikit lebih rendah daripada USDC, dan mungkin mengalami sedikit deans kerana turun naik cagaran; 3. Berkenaan dengan pinjaman, ikrar dan senario tadbir urus dalam ekosistem defi; 4. Perhatikan risiko peningkatan dan tadbir urus sistem Makerdao. Jika anda meneruskan jaminan kestabilan dan pematuhan yang tinggi, disarankan untuk memilih USDC; Jika anda melampirkan kepentingan konsep desentralisasi dan secara aktif mengambil bahagian dalam aplikasi DEFI, DAI mempunyai nilai jangka panjang. Gabungan kedua -duanya juga boleh meningkatkan keselamatan dan fleksibiliti peruntukan aset.

Peranan kontrak pintar Ethereum Peranan kontrak pintar Ethereum Jul 15, 2025 pm 09:18 PM

Peranan kontrak pintar Ethereum adalah untuk merealisasikan pelaksanaan protokol yang terdesentralisasi, automatik dan telus. Fungsi terasnya termasuk: 1. Sebagai lapisan logik teras DAPP, ia menyokong penerbitan token, defi, NFT dan fungsi lain; 2. Secara automatik melaksanakan kontrak melalui kod untuk mengurangkan risiko campur tangan dan penipuan manusia; 3. Membina ekosistem defi supaya pengguna dapat secara langsung menjalankan operasi kewangan seperti pinjaman dan urus niaga; 4. Buat dan menguruskan aset digital untuk memastikan keunikan dan verifiability; 5. Meningkatkan ketelusan dan keselamatan rantaian bekalan dan pengesahan identiti; 6. Menyokong tadbir urus DAO dan merealisasikan pengambilan keputusan yang terdesentralisasi.

Pra-jualan Filecoin, Render, dan penyimpanan AI pemanasan: Adakah titik letupan infrastruktur Web3 datang? Pra-jualan Filecoin, Render, dan penyimpanan AI pemanasan: Adakah titik letupan infrastruktur Web3 datang? Jul 16, 2025 am 09:51 AM

Ya, infrastruktur Web3 meletupkan jangkaan sebagai permintaan untuk AI memanaskan. FileCoin mengintegrasikan kuasa pengkomputeran melalui pelan "Compute Over Data" untuk menyokong pemprosesan dan latihan data AI; Render Network menyediakan kuasa pengkomputeran GPU yang diedarkan untuk melayani rendering graf AIGC; Arweave menyokong berat model AI dan kebolehkesanan data dengan ciri -ciri penyimpanan kekal; Ketiganya menggabungkan peningkatan teknologi dan promosi modal ekologi, dan bergerak dari tepi ke teras asas AI.

Berapa stablecoin usd Berapa stablecoin usd Jul 15, 2025 pm 09:57 PM

Nilai stablecoins biasanya disandarkan kepada dolar AS 1: 1, tetapi ia akan berubah sedikit kerana faktor -faktor seperti bekalan pasaran dan permintaan, keyakinan pelabur dan aset rizab. Sebagai contoh, USDT jatuh kepada $ 0.87 pada 2018, dan USDC jatuh ke sekitar $ 0.87 pada tahun 2023 kerana krisis perbankan Silicon Valley. Mekanisme penambat stablecoins terutamanya termasuk: 1. 2. Jenis gadai janji cryptocurrency (seperti DAI), yang mengekalkan kestabilan dengan melampaui over-collaterizing cryptocurrency lain; 3. Algoritma stablecoins (seperti UST), yang bergantung kepada algoritma untuk menyesuaikan bekalan, tetapi mempunyai risiko yang lebih tinggi. Cadangan platform perdagangan biasa termasuk: 1. Binance, menyediakan produk perdagangan yang kaya dan kecairan yang kuat; 2. Okx,

See all articles