Tùy thuộc vào chất lượng bạn đang tìm kiếm, bạn có thể hy sinh nó xuống tín hiệu đơn âm với tốc độ bit thấp, bạn có thể phát trực tuyến nó để lấy nó như là một URLStream ở phía máy khách, và sau đó nạp dữ liệu của URLStream đó vào một SampleDataEvent của một đối tượng Sound trống, dần dần trong thời gian chạy.
Công việc phụ chủ yếu sẽ ở phía máy chủ, giải nén MP3 của bạn thành luồng dạng sóng nổi (một luồng tín hiệu đơn kênh hoặc hỗn hợp của hai kết hợp với mono) và sau đó đẩy điều đó ra ứng dụng phía khách hàng của bạn.
Khi URLStream được tải, hãy thêm byte đã tải xuống vào ByteArray có sẵn trên SampleDataEvent của Sound (cũng cung cấp cho nó một số bộ đệm "thời gian" để tải đủ dữ liệu dạng sóng). Đối với mỗi mẫu đơn đọc từ URLStream, bạn nên viết cùng một giá trị hai lần cho đối tượng SampleDataEvent.data (một lần đến kênh Trái, một lần sang phải).
Tất cả điều này được nói, việc hạ cấp luồng âm thanh giống như WAV xuống mono có thể không đủ để giảm băng thông và tiếp cận đối tượng mục tiêu rộng. Có lẽ một cái nhìn tại một thư viện OGG cho AS3 (mà nên tồn tại) sẽ là một lựa chọn tốt hơn, và chắc chắn nên hỗ trợ giải mã một phần tải xuống suối.
dữ liệu âm thanh nằm ở phía máy chủ như thế nào, bạn có thể hiển thị url mẫu không? Bạn có một url mới cho mỗi bản nhạc mới hay nó luôn giống nhau? máy chủ có cho phép tải xuống nhanh hơn nhiều so với tốc độ phát lại và có thể tải tệp hoàn chỉnh không? – www0z0k
tôi nghĩ rằng tôi biết cách, chỉ cần thêm thông tin – www0z0k
Dữ liệu được truyền qua RTMP chuẩn và chỉ MP3. URL mẫu sẽ giống như http: // host: 1935/mp3playback/mp3: hello.mp3. Có một URL mới cho mỗi bản nhạc. Đó là, tất nhiên, có thể làm tiến bộ tải về thông qua các Sound() đối tượng để đạt được những gì tôi muốn, nhưng tôi muốn làm điều đó bằng cách sử dụng NetStream(). – Johan