2012-05-01 38 views
7

Tôi đang xây dựng một trang cho phép người dùng tải lên tệp MP3. Tệp MP3 đó được chuyển đổi ở phần cuối của tệp .WAV bằng LAME.Firefox sẽ không phát tệp .WAV sử dụng thẻ HTML5 <audio>?

Việc thực hiện kịch bản què là ở đây:

LAME --resample 44.1 -decode myDirectoryPath/Master.mp3 myDirectoryPath/Master.wav 

Tuy nhiên, khi tôi sử dụng thẻ âm thanh HTML5 để tạo ra một cầu thủ cho rằng tập tin âm thanh trong Firefox, nó không hoạt động.

<!DOCTYPE HTML> 
<html> 

<head> 
    <meta charset="UTF-8"> 
    <title>Test</title> 
</head> 

<body> 
    <audio controls> 
     <source src="myDirectoryPath/Master.mp3"> 
     <source src="myDirectoryPath/Master.wav"> 
    </audio> 
</body> 
</html> 

Tất cả những gì tôi đã đọc nói rằng Firefox hỗ trợ .wav file ... và tôi không thể tìm thấy một .mp3 đơn giản để .ogg công cụ dòng lệnh để sử dụng mà sẽ chuyển đổi các master.mp3 để .ogg định dạng. Ai đó có thể đưa ra một số gợi ý về những gì cần thử tiếp theo không?

tôi đã đăng mã mà làm việc trong Safari và Chrome ở đây: http://www.wgbh.org/byers/Audio/index.html

Đối với bất cứ lý do nào, FF không thích nó.

CẬP NHẬT (Có kèm theo facepalm) Vấn đề nằm ở giải mã LAME của tôi. Cú pháp chính xác là --decode với hai dấu gạch ngang thay vì một dấu gạch ngang. Hệ thống đã thực sự mã hóa nó từ mp3 sang mp3, đặt tên nó là wav và Safari/Chrome trên máy Mac đã giả định loại tệp.

+1

thử thêm 'type =" audio/wav "' vào thẻ 'source' –

+0

Không may mắn. Loại = "audio/wav" không làm gì cả. –

+0

Dường như nó hoạt động nếu bạn không cung cấp nguồn. Kiểm tra http://jsfiddle.net/kq2EJ/ –

Trả lời

17

Độ sâu bit trên các tệp WAV của bạn là gì? Firefox hỗ trợ PCM 8 bit và 16 bit, nhưng không hỗ trợ độ sâu bit khác (12, 20, 24, 32).

+6

Ngoài việc này, nó sẽ không phát lại các tệp wav bằng cách sử dụng mã hóa alaw hoặc ulaw. –

+0

Lên phiếu vì tôi không nghĩ rằng để kiểm tra xem các tập tin wav của tôi đã được mã hóa PCM hoặc ulaw. –

+0

Đối với ngày hôm nay, Firefox sẽ phát tất cả bitrate lên đến 32 nếu mã hóa PCM – XAMelleOH

3

Firefox hy vọng một trong các cách sau codecs to be returned as the MIME type:

  • audio/sóng (ưu tiên)
  • audio/wav
  • audio/x-wav
  • audio/x-pn-wav

Đảm bảo máy chủ của bạn trả về một trong các loại MIME đó cho tệp wav.

+0

Xong. Tôi đã thử sử dụng type = "audio/wave" và "audio/wav" không có kết quả. –

+0

u đã thử sử dụng các loại đó, nhưng bạn có chắc chắn máy chủ của mình có thể xử lý chúng không? – albert

+1

Mã tương tự đó hoạt động hoàn toàn tốt trong Safari. –

0

Ngoài vấn đề về độ sâu bit, âm thanh HTML5 HTML5 dường như cũng không phát lại âm thanh 6 kênh. Đối với ứng dụng của tôi, tôi cần thiết để tái rip để thay đổi cả chiều sâu bit và số kênh (ví dụ sox INFILE-b 16 -c 2outfileotherParams).

-1

Đây là lỗi trong Firefox - bạn cần liệt kê nguồn định dạng MP3 ở cuối và nó sẽ hoạt động.

+3

Điều này có câu trả lời được chấp nhận từ 3 năm trước, tại sao bạn đăng? – JNYRanger

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