Chcę nagrać surowy wideo h.264 bez dźwięku i ewentualnie HW przyspieszony (i przesyłać go później). Zdecydowałem się więc użyć MediaRecorder
(i hackowania do przesyłania strumieniowego).MediaRecorder start kody błędów
Mam następujący kod:
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();
i BAM! To z logcat:
E/MediaRecorder﹕ start failed: -38
zacząłem googlowania i znaleźli mnóstwo pytań i odpowiedzi, ale nikt o kodzie błędu -38
.
Więc spróbowałem spojrzeć na Androida source code i zauważyłem, że jest to metoda native
i nie wiem, gdzie tego szukać.
Więc moje pytanie brzmi: jest jakiś wykaz tych kodów błędów, więc udało mi się znaleźć jaki błąd -38
środki `
Znany również tjat jestem kierowania API 10 (Gingerbread) oraz budynek z? ostatnie SDK 21.
To naprawdę nie znaczy nic, niestety. Gdzieś kilka warstw w dół może być przydatny kod błędu, ale do czasu, w którym wypuszcza się do aplikacji, zawsze jest to prawie -38. Możesz znaleźć kilka przydatnych informacji, przeglądając nieco wynik logcat w poszukiwaniu innych błędów lub ostrzeżeń. – fadden