如何使用Javascript在移动Safari和所有其他浏览器上录制音频?

时间:2019-05-19 08:52:40

标签: javascript html5-audio

我只想在所有浏览器,台式机浏览器以及移动(iOS / Android)浏览器中记录音频。

我写了一些Javascript,可在台式机的Chrome浏览器中使用。但是,当我在装有Safari / Chrome的iPhone 7上尝试使用此功能时,它不起作用。

据我了解,这与不同的移动浏览器API有关。因此,我需要更改代码,使其支持所有类型的浏览器API。

如何更改代码以支持所有浏览器?

<script type="text/javascript">
    $(document).ready(function () {

        var uploadField = document.getElementById("file");

        uploadField.onchange = function () {
            if (this.files[0].size > 300000) {
                this.value = "";
                swal({
                    title: 'File is larger than 300 KB !!',
                    text: 'Please Select a file smaller than 300 KB',
                    type: 'error',
                    timer: 4000,
                    onOpen: () => {
                        swal.showLoading()
                        timerInterval = setInterval(() => {
                            swal.getContent().querySelector('strong')
                                .textContent = swal.getTimerLeft()
                        }, 100)
                    },
                    onClose: () => {
                        clearInterval(timerInterval)

                    }
                }).then((result) => {
                    if (
                        // Read more about handling dismissals
                        result.dismiss === swal.DismissReason.timer


                    ) {

                        console.log('I was closed by the timer')
                    }
                });

            };
        };



    });
</script>

1 个答案:

答案 0 :(得分:0)

我认为音频录制在iOS上的Chrome上仍然无法正常工作。它可以与Safari浏览器一起使用。但是您不能使用MediaRecorder,而必须使用Media Capture and Streams API。 这里是一个链接:https://developer.mozilla.org/en-US/docs/Web/API/Media_Streams_API