Android SDK Media Recorder. Состояние 4 - PullRequest
0 голосов
/ 11 февраля 2012

Я только что завершил разработку быстрого приложения для Android.

Незначительная проблема.В каком состоянии 4?

Я использую MediaPlayer, и каждый раз, когда я запускаю приложение, я получаю сообщение об ошибке, в котором говорится, что Media Player "start ()" сначала вызывается в состоянии 0, затем в состоянии 4.

Кто-нибудь знает, что такое состояние 4?

Я могу выяснить проблему, если знаю такие состояния, как состояние 1 и 2 ...

Спасибо,

1 Ответ

7 голосов
/ 11 февраля 2012

Это из MediaPlayer.h в источнике Android:

enum media_player_states {
  MEDIA_PLAYER_STATE_ERROR        = 0,
  MEDIA_PLAYER_IDLE               = 1 << 0,
  MEDIA_PLAYER_INITIALIZED        = 1 << 1,
  MEDIA_PLAYER_PREPARING          = 1 << 2,
  MEDIA_PLAYER_PREPARED           = 1 << 3,
  MEDIA_PLAYER_DECODED            = 1 << 4,
  MEDIA_PLAYER_STARTED            = 1 << 5,
  MEDIA_PLAYER_PAUSED             = 1 << 6,
  MEDIA_PLAYER_STOPPED            = 1 << 7,
  MEDIA_PLAYER_PLAYBACK_COMPLETE  = 1 << 8
};

Поэтому 0 будет MEDIA_PLAYER_STATE_ERROR, а 4 будет MEDIA_PLAYER_PREPARING.Вы вызывали prepare () или prepareAsync () перед вызовом start ()?

Это состояния MediaRecorder:

enum media_recorder_states {
  MEDIA_RECORDER_ERROR                 =      0,
  MEDIA_RECORDER_IDLE                  = 1 << 0,
  MEDIA_RECORDER_INITIALIZED           = 1 << 1,
  MEDIA_RECORDER_DATASOURCE_CONFIGURED = 1 << 2,
  MEDIA_RECORDER_PREPARED              = 1 << 3,
  MEDIA_RECORDER_RECORDING             = 1 << 4,
};

Поэтому для записи состояние 4 равно MEDIA_RECORDER_DATASOURCE_CONFIGURED.

...