2012-11-07 32 views
12

Tôi đang gặp khó khăn để có được một tập tin WAV để chơi trên một trang HTML là một trong hai thẻ âm thanh HTML5 hoặc thông qua một liên kết tải về thường xuyên trong điện thoại di động Safari (iPad/iPhone):chơi một file WAV trên iOS Safari

<audio controls src="audio-pcm_s16le-8k.wav"/></audio> 
<a href="audio-pcm_s16le-8k.wav">audio</a> 

Đối tượng HTML5 audio chỉ hiển thị Cannot play audio file trong đó và khi tôi nhấp để tải xuống liên kết được tham chiếu, tôi nhận được trang đen có "không thể phát vòng kết nối này" ở giữa. Tôi đã thử các tần số khác nhau (8000, 11025, 16000, 32000, 44100), các mã hóa khác nhau (mu-law, Linear Signed 16-bit LE và BE), các vùng chứa khác nhau (.wav, .caf, .aiff) và nhiều chương trình chuyển đổi âm thanh (Audacity, ffmpeg, và afconvert riêng của Apple) ... Tôi không thể phát âm thanh (trừ khi tôi tạo MP3 - và không, tôi không thể sử dụng MP3 hoặc AAC, tôi cần một "nguyên bản "định dạng vì lý do quá dài để có được ở đây).

Tôi đã xem các định dạng được hỗ trợ cho iOS và có vẻ như hỗ trợ WAV ... bất kỳ ai có bất kỳ trải nghiệm nào với sự cố này? Tôi đang sử dụng iOS 6.0.1

EDIT: Người trả lời được chọn đã giúp tôi giải quyết vấn đề này, nhưng lý do nằm trong phần nhận xét của câu trả lời. Điểm mấu chốt là nó đòi hỏi tiêu đề phạm vi HTML để chơi các tập tin.

+0

bạn có thể cung cấp tệp âm thanh mẫu không hoạt động không? – madmik3

+0

@ madmik3 chắc chắn tôi đặt một trong các tệp thử nghiệm tại đây: [link] (http://wikisend.com/download/687328/conference-pcm_s16le-8k.wav) – mark

+0

Nhiều ứng dụng cho tôi biết tệp wav này không phải là tệp hợp lệ tập tin. Bản thân tệp không hợp lệ vì một lý do nào đó hoặc lý do khác. Tôi sẽ tìm thấy một wav từ một nguồn khác và xác minh nó phát trong thời gian nhanh. – madmik3

Trả lời

9

Vâng, bạn chắc chắn đã giúp tôi đi đúng hướng ít nhất ... nó dường như không phải là tệp ở tất cả ... đó là máy chủ web. Cùng một nội dung chính xác từ stockley hoạt động, nhưng trên máy chủ web của tôi nó không. Tôi sẽ phải xem xét phản hồi HTTP một cách chi tiết mà tôi cho là vậy. máy chủ web của tôi đang trở lại Content-Type: audio/x-wav do đó, nó không phải là ...

Kiểm tra các tiêu đề cho trang web thử nghiệm tôi thiết lập, bạn muốn được trở về Content-Type: text/html cho trang chứa dữ liệu HTML mà bạn cần:

enter image description here

Content-Type: audio/x-wav cho các tập tin âm thanh thực tế (http://www.test.com/file.wav)

enter image description here

+0

Tôi có linh cảm là tiêu đề 'Phạm vi:' ... dự đoán của tôi là Safari đang yêu cầu sử dụng (trong khi Chrome dành cho máy tính để bàn, FF, v.v.). Tôi sẽ đăng lại khi tôi biết nhiều hơn ... – mark

+0

Đó là tiêu đề 'Phạm vi:' ... một khi tôi cho phép tất cả đều tốt trong vũ trụ một lần nữa. Cảm ơn bạn đã giúp đỡ. – mark

+0

cách bạn nhận trạng thái yêu cầu HTTP, ý tôi là bạn sử dụng công cụ nào để sử dụng – meda

7

Thông qua một loạt các thử nghiệm và lỗi tôi thấy rằng bạn cần một tiêu đề phạm vi nội dung để nó hoạt động. Dưới đây là ví dụ về tiêu đề của tôi cho phép tệp wav phát trong Safari cho iOS:

Content-Range: bytes XX-XX/XX 
Content-Type: audio/wav 
Content-Disposition: attachment; filename="whatever.WAV" 
Content-Length: XX  

Hy vọng điều này sẽ hữu ích!

+0

Tôi cho rằng đây là câu trả lời đúng! – nexuzzz

0

Nó hoạt động rất tốt. Tôi đã sử dụng Phạm vi nội dung: byte XX-XX/XXĐộ dài nội dung: XX

Các vấn đề liên quan