Tôi đang sử dụng ALSA API snd_pcm_drop()
để xóa bộ đệm. Nhưng khi tôi tiếp tục phát âm thanh sau với snd_pcm_prepare()
, tôi có thể nghe thấy một phần âm thanh trước đó được cho là sẽ bị xóa. Điều này xảy ra khi tôi có giá trị cao là snd_pcm_sw_params_set_stop_threshold()
. Nếu tôi đang sử dụng giá trị thấp hơn, âm thanh một phần từ phiên âm thanh trước sẽ không được phát.ALSA snd_pcm_drop() không xóa bộ đệm hoàn chỉnh
Điều gì đang xảy ra ở đây? Làm thế nào để xóa hoàn toàn bộ đệm?
(Tôi mới vào ALSA)
Cảm ơn
Đây có phải là tùy chọn để sử dụng snd_pcm_drain() thay vì snd_pcm_drop() không? –
Âm thanh như một lỗi trình điều khiển, nhưng điều này khó nói mà không có thêm thông tin. –
@ Đa phương tiện Mike, Theo tài liệu, snd_pcm_drain() sẽ không thả bộ đệm ngay lập tức. Vì vậy, nó không phải là hữu ích cho tôi. Dù sao tôi đã thử snd_pcm_drain(), nhưng quan sát là như nhau. –