Tôi đang làm việc trên một trang web có trò chuyện cho khách hàng, tuy nhiên, chúng tôi đang gặp sự cố với âm thanh trong iPad (iOS 5).Phát âm thanh trên iPad
Mục tiêu trên thực tế là iPad có hỗ trợ cho IE7 được ưu tiên.
Tôi đã thử những cách tiếp cận:
HTML5
<audio id="notification" preload="auto">
<source src="audio/notification.ogg" type="audio/ogg" />
<source src="audio/notification.mp3" type="audio/mpeg" />
</audio>
Với một số javascript
var el = document.getElementById('notification');
el.play();
Một số javascript chức năng Tôi đã ăn cắp ở đâu đó mà trong thực tế là hai phương pháp khác nhau trong một hàm. Xin lưu ý rằng tập lệnh nằm trong một thư mục con, vì vậy đường dẫn chính xác.
function notify() {
var url = '../audio/notification.mp3';
var a = document.createElement('audio');
if(!!(a.canPlayType && a.canPlayType('audio/mpeg').replace(/no/, ''))) {
var sound = new Audio(url);
sound.load();
sound.play();
} else {
$('#notification').remove();
var sound = $('<embed id="notification" type="audio/mpeg" src="'+url+'" loop="false" hidden="true" autostart="true" />');
$(body).append(sound);
}
}
Cả hai phương pháp dường như không hoạt động. Tôi có làm điều gì sai?
Thú vị! –
Gah, đến trên Apple, hành động của người dùng đang tải trang web, vì vậy * hai * hành động người dùng là bắt buộc (tải một trang, sau đó thực hiện một việc khác). Cùng một vấn đề với cố gắng kích hoạt bàn phím gốc. –
@Tim S: Bạn có nói rằng, đối với một trang web cụ thể: khi người dùng tải trang, sau đó nhấp vào nút phát mà bạn có thể phát âm thanh bất cứ khi nào bạn thích trên trang đó? nói, để đáp ứng với một sự kiện di chuột qua? –