Не удается воспроизвести аудио из папки активов в TFLite Object Detector Android Studio - PullRequest
0 голосов
/ 06 июля 2019

Я использую пример приложения Tenorflow для обнаружения объектов для Android, и я хочу, чтобы он произносил вслух каждый обнаруженный объект на арабском языке, но поскольку у TextToSpeech нет арабского, я записал файлы .mp3 и сохранил их в папке активов, но это не так.не запускать звуксделайте что-нибудь.

действие, от которого я пытаюсь запустить аудио, называется DetectorActivity, и оно расширяет класс CameraActivity, звук в некоторой степени воспроизводится из CameraActivity, возможно, потому что у него есть R.layout.activity_camera иDetectorActivity - нет, просто чтобы указать, что DetectorActivity - это действие, но CameraActivity - это просто класс, расширяемый DetectorActivity и имеющий макет.

DetectorActivity.java

public class DetectorActivity extends CameraActivity implements OnImageAvailableListener {

runInBackground(
new Runnable() {
              @Override
              public void run() {
  for (final Classifier.Recognition result : results) {
    final RectF location = result.getLocation();
    if (location != null && result.getConfidence() >= minimumConfidence) {
      String category = result.getTitle();
                    playBeep(category);
}
    }
  }
)


  public void playBeep(String filename) {
    MediaPlayer m = new MediaPlayer();
    try {
      if (m.isPlaying()) {
        m.stop();
        m.release();
        m = new MediaPlayer();
      }

      AssetFileDescriptor descriptor = getAssets().openFd(filename + ".mp3");
      m.setDataSource(descriptor.getFileDescriptor(), descriptor.getStartOffset(), descriptor.getLength());
      descriptor.close();

      m.prepare();
      m.setVolume(1f, 1f);
      m.setLooping(true);
      m.start();
    } catch (Exception e) {
      e.printStackTrace();
    }
  }
}
...