Tôi đã tìm kiếm trong vài ngày, nhưng không thể có được câu trả lời rõ ràng về cách thực hiện.Giải mã âm thanh/video một cách nhanh chóng với MediaPlayer
Tôi có một số tệp âm thanh/video được mã hóa trên sdcard của mình, mà tôi muốn phát tệp sẽ gửi tới MediaPlayer và bắt đầu phát trong khi giải mã đang hoạt động cùng một lúc. Nó tạo ra một bộ đệm ban đầu, và khi nó có đủ dữ liệu ban đầu để bắt đầu chơi, MediaPlayer sẽ bắt đầu phát, và trên nền giải mã và tiếp tục gửi dữ liệu qua.
Tôi nhìn xung quanh và hầu hết các giải pháp dường như chỉ để có một localhttpserver, và sau đó gửi tập tin đến máy chủ, và khi nó trở lại, nó sẽ bắt đầu phát âm thanh/video như một luồng trực tiếp. Những gì tôi không biết là mã giải mã xuất hiện ở đâu? Ở phía máy chủ? Nếu vậy, trong đó một phần của nó?
Tôi cũng đã xem giải pháp http://libeasy.alwaysdata.net/ này, có thể giải quyết được vấn đề đó, nhưng dường như tôi không hiểu cách hoạt động. Tôi biết rằng nó tạo ra một máy chủ cục bộ, nhưng trên phần mã hóa, làm thế nào để giải mã của riêng tôi đến chơi?
private void myPlay(String path) {
mServer = new LocalSingleHttpServer();
mServer.setCipher(myGetCipher());
mServer.start();
path = mServer.getURL(path);
mVideoView.setVideoPath(path);
mVideoView.start();
}
public void onCompletion(MediaPlayer mp) { // MediaPlayer.OnCompletionListener interface
mServer.stop();
}
Vì tôi khá mới phát triển Android, vì vậy hãy mang theo tôi nếu tôi không rõ hoặc bất cứ điều gì.
Cảm ơn bạn.
Bạn có nhận được giải pháp nào cho điều này không? Tôi cũng không thể phát video được mã hóa – user1444172
Đây không phải là giải pháp tốt nhất vì bạn không thể xem video trừ khi bạn trực tuyến. Nó cũng làm cho bạn phụ thuộc vào tốc độ kết nối internet. Hãy thử tìm một cái gì đó làm việc đó cục bộ trên thiết bị. Nếu các tệp có kích thước nhỏ. Bạn có thể làm điều đó một lần, nhưng điều này sẽ không hoạt động nếu bạn đang xử lý các tệp có kích thước lớn. –