Tôi muốn ghi lại video h.264 thô không có âm thanh và có thể HW tăng tốc (và phát trực tuyến sau). Vì vậy, tôi quyết định sử dụng MediaRecorder
(và ổ cắm hack để phát trực tuyến).Mã lỗi bắt đầu MediaRecorder
Tôi có đoạn mã sau:
final MediaRecorder recorder = new MediaRecorder();
final Camera camera = Camera.open();
camera.unlock();
recorder.setCamera(camera);
recorder.setVideoSource(MediaRecorder.VideoSource.CAMERA);
recorder.setOutputFormat(MediaRecorder.OutputFormat.DEFAULT);
recorder.setVideoEncoder(MediaRecorder.VideoEncoder.H264);
final CamcorderProfile profile = CamcorderProfile.get(CamcorderProfile.QUALITY_LOW);
recorder.setVideoSize(profile.videoFrameWidth, profile.videoFrameHeight);
recorder.setVideoFrameRate(profile.videoFrameRate);
recorder.setVideoEncodingBitRate(profile.videoBitRate);
recorder.prepare();
recorder.start();
Và bam! Điều này trong logcat:
E/MediaRecorder﹕ start failed: -38
Tôi bắt đầu googling, và tìm thấy rất nhiều câu hỏi và câu trả lời, nhưng không có gì về mã lỗi của tôi -38
.
Vì vậy, tôi đã cố gắng xem Android source code và nhận thấy đó là phương pháp native
và tôi không biết phải tìm kiếm ở đâu.
Vì vậy, câu hỏi lớn của tôi là: Có một số danh sách những mã lỗi, vì vậy tôi có thể tìm thấy những gì lỗi -38
phương tiện '
Cũng biết tjat Tôi đang nhắm mục tiêu API 10 (Gingerbread) và xây dựng với? SDK mới nhất 21.
Thật không có ý nghĩa gì cả. Một nơi nào đó một số lớp xuống có thể có một mã lỗi hữu ích, nhưng vào thời điểm nó bong bóng theo cách của nó ra các ứng dụng nó khá nhiều luôn luôn -38. Bạn có thể tìm thấy một số thông tin hữu ích bằng cách nhìn lại một chút trong đầu ra logcat cho các lỗi hoặc cảnh báo khác. – fadden