Định dạng tệp MP3 bao gồm các khung. Mỗi khung bắt đầu với mười một bit "1" và một vài byte siêu dữ liệu kiểm soát tốc độ bit và xác định một số thuộc tính khác. Mỗi khung là độc lập, nó được thiết kế theo cách này để hỗ trợ phát trực tuyến.
Khung có thể có CRC - kiểm tra lỗi. Đó là tùy chọn.
Hệ điều hành có thể sẽ thử đọc lại nếu gặp các thành phần xấu trên CD (phần cứng CD có lỗi kiểm tra mechansim trước khi bộ mã hóa MP3 thậm chí nhìn thấy bất cứ thứ gì). Giả sử bộ giải mã không hoạt động với bộ đệm, bộ giải mã sẽ không nhận được dữ liệu mới trong quá trình này và sẽ phải dừng lại. Nếu hệ điều hành không thể đọc dữ liệu, nó có thể báo lỗi cho hệ điều hành, cuối cùng sẽ được báo cáo cho quá trình lưu trữ bộ mã hóa MP3. Phụ thuộc vào phần mềm những gì xảy ra chính xác ở đây.
Một vài điều có thể xảy ra nếu dữ liệu từ CD được đọc không chính xác và vẫn chuyển đến bộ giải mã (điều này có thể không xảy ra trên PC nhưng có thể trong âm thanh nổi trên xe hơi hoặc thiết bị không phải PC khác):
Bộ giải mã MP3 tìm kiếm mười một bit đó để tìm điểm bắt đầu của khung - nếu không tìm thấy chúng, nó có thể sẽ ngừng giải mã cho đến khung tiếp theo.
Nếu dữ liệu tiêu đề là xấu, nó có thể phát khung hình ở tốc độ bit sai do byte cho biết bitrate nào có thể sai.
Nếu bit CRC tiêu đề được đặt và CRC không khớp, bộ giải mã có thể sẽ ném khung ra và không phát nó. Hầu hết các tệp MP3 không có bit CRC được đặt.
Nếu tải trọng (dữ liệu sau tiêu đề) sai, bộ giải mã MP3 sẽ cố gắng phát nó.
Công việc của bộ giải mã là lấy dữ liệu nén và tạo dữ liệu không nén để bàn giao ở mức "cao hơn". Mức cao hơn đó thực sự sử dụng dữ liệu không nén để điều khiển một thiết bị âm thanh. Tôi sẽ nguy hiểm khi đoán hầu hết các thiết lập bộ mã hóa / trình điều khiển âm thanh đều có bộ đệm - với kích thước có thể định cấu hình - nơi bộ giải mã MP3 có thể xây dựng một số dữ liệu cho trình điều khiển âm thanh và cho phép thử lại đọc.
Vì vậy, dù sao đi nữa, nếu bộ giải mã đã dừng vì không nhận được dữ liệu, thì cấp trên thực sự điều khiển âm thanh có thể thực hiện bất kỳ thao tác nào dưới đây:
- Cấp trên đầu ra im lặng. Bạn sẽ nghe thấy một sự phá vỡ trong âm thanh.
- Bộ giải mã dừng điền dữ liệu vào bộ đệm âm thanh, nhưng cấp trên tiếp tục phát những gì ở đó. Bộ đệm âm thanh thường là "hình tròn", có nghĩa là chúng không bị xóa mà liên tục bị ghi đè bằng dữ liệu mới. Bạn sẽ nghe thấy một phần bỏ qua là một phần của âm thanh phát trước đó.
- Cấp trên là thông minh và cố gắng nội suy những gì "nên" ở đó. Tôi không nghĩ rằng điều này là rất phổ biến.
Nếu bộ giải mã xuất dữ liệu xấu, bạn sẽ nghe thấy tĩnh hoặc bật trong âm thanh.
Tham khảo .