开发者

Multi-channel audio support in the browser on iOS and Android

开发者 https://www.devze.com 2023-01-30 09:45 出处:网络
I found this link to a page here on StackOverflow about \"Creating Audio using Javascript in <audio>\", and this page on how to play audio on multiple channels.I found that the iPhone supports t

I found this link to a page here on StackOverflow about "Creating Audio using Javascript in <audio>", and this page on how to play audio on multiple channels. I found that the iPhone supports the audio tag and the Audio object in Javascript to play single channel audio, but is there a way to play audio on multiple channels?

Maybe I'm over complicating this, so this is what I'm trying to do. I want a way to make a graceful audio player in Javascript that supports transitioning from one audio file to another. The way I was going to implement this is to incrementally reduce the volume on one channel while incrementally increasing the volume on the other channel so I'd get a kind of fade effect. Is there a simpler solution to this using only Javascript? I guess another solution would be to reduce the volume to a certain point, start the new audio file on the same channel, then increase the volume again. This circumvents the need for fading, but I would like to fade if at all possible.

Is this possible? I know the HTML5 spec isn't finished yet, but is there some kind of workaround that you know of? Do any of you have ideas for another approach?

From what I can tell from this post about playing audio in the Android browser, this isn't supported yet, but do any of you know if it will support multiple channel audio once the audio tag is support开发者_Python百科ed? Does opera mini support this?


This is an old question I know :).

iOS Safari does not support multiple audio objects playing at the same time. Also, it is not possible for having a fade-in/out effect for iOS, as the only way to change the volume setting is from the hardware itself. Apple decided to give this ability only to the device user. Volume setting is not writable by javascript. It is not even readable (always returns 1).

You can check out the Safari documentation for iOS for more info.

For Android, to be honest I have no idea.


There's no direct way that I know of to have multiple channels on an audio tag, but check out this blog post on using multiple audio tags to simulate multiple channels. http://www.storiesinflight.com/html5/audio.html


I know this is a total hack but try this trick I came up with...

Go to the page below and type on the home row keys to play a blues riff (type multiple keys at the same time etc.)

http://davealger.com/jthump/

The way this works is to create invisible <iframe> components that play a sound before destroying the frame.

I know it is a total hack and I look forward to better HTML 5 multi-channel audio support in the future.

0

精彩评论

暂无评论...
验证码 换一张
取 消