Có ai biết nếu có thể phát hiện khi VideoView đang lưu vào bộ đệm không?Phát hiện nếu VideoVIew đang lưu vào bộ đệm
Tôi muốn hiển thị ProgressDialog khi video đang lưu vào bộ đệm.
Cho đến nay, tôi đã thử sử dụng OnPreparedListener nhưng chỉ hoạt động khi video được tải lần đầu tiên. Nếu video đang phát và người dùng di chuyển thanh chà đến một điểm khác thì video vẫn được "chuẩn bị" ngay cả khi video đang được lưu vào bộ đệm.
Tôi cũng đã cố gắng (Tôi biết điều này là khủng khiếp) một AsyncThread mà chỉ chờ đợi bận rộn trên isPlaying():
private class BufferTask extends AsyncTask<Void, Void, Void> {
protected Void doInBackground(Void...voids) {
final VideoView videoView = (VideoView)findViewById(R.id.video);
while (!videoView.isPlaying()) { }
return null;
}
protected void onPostExecute(Void v) {
// Hide the dialog here...
}
}
này không hoạt động bởi vì ngay sau khi bạn gọi start() một VideoView dường như được coi là chơi ngay cả khi đang lưu vào bộ đệm.
Giải pháp duy nhất tôi có thể nghĩ đến là xây dựng lớp loại VideoView tùy chỉnh để tôi có thể truy cập phiên bản MediaPlayer của nó.
Bất kỳ ý tưởng nào? Cảm ơn vì đã đọc.
Sự cố của bạn có được giải quyết không? –