Запись аудио для Android и iOS с помощью Appcelerator Titanium - PullRequest
0 голосов
/ 30 августа 2018

У меня проблемы с записью звука в файл. Я пытаюсь запустить пример кода (с необходимыми разрешениями в tiapp.xml), но я всегда получаю ошибки (например, "+ [NSBlock boundBridge: withKrollObject:]: нераспознанный селектор отправлен в класс 0x1b5549500"; при остановке () действие).

Я не могу найти модуль для записи звука (я использовал tutorial.audiorecord, но он не работает в последних версиях SDK)

Это пример кода со страницы документации appcelerator https://docs.appcelerator.com/platform/latest/#!/api/Titanium.Media.AudioRecorder

Я пробую все, но не работает.

У кого-нибудь есть рабочий пример или модуль для Appcelerator SDK 7?

var window = Ti.UI.createWindow({
  backgroundColor: '#fff'
});

var recordStart = Ti.UI.createButton({
  title: 'Start',
  top: 10
});

var recordPause = Ti.UI.createButton({
  title: 'Pause',
  top: 60
});

var recordStop = Ti.UI.createButton({
  title: 'Stop',
  top: 110
});

var recordPlay = Ti.UI.createButton({
  title: 'Play',
  top: 160
});

var audioRecorder = Ti.Media.createAudioRecorder();

var record;
var audioPlayer;

window.addEventListener('open', function(e) {
  if (!Ti.Media.hasAudioRecorderPermissions()) {
    Ti.Media.requestAudioRecorderPermissions(function(e) {
      if (e.success) {
        window.add(recordStart);
      }
    });
  } else {
    window.add(recordStart);
  }
});

recordStart.addEventListener('click', function(e) {
  audioRecorder.start();
});

recordPause.addEventListener('click', function(e) {
  if (audioRecorder.getPaused()) {
    recordPause.setTitle('Pause');
    audioRecorder.resume();
  } else {
    recordPause.setTitle('Resume');
    audioRecorder.pause();
  }
});

recordStop.addEventListener('click', function(e) {
  record = audioRecorder.stop();
  Ti.API.info(record.getNativePath());
});

recordPlay.addEventListener('click', function(e) {
  audioPlayer = Ti.Media.createAudioPlayer({
    url: record.getNativePath()
  });
  audioPlayer.start();
});

window.add(recordPause);
window.add(recordStop);
window.add(recordPlay);

window.open();

Заранее спасибо

1 Ответ

0 голосов
/ 02 сентября 2018

Это пример использования Hyperloop Titanium: https://gist.github.com/dinahgarcia/119ac00c91334d3951601cf347bad8d4 Чтобы использовать его, необходимо включить Hyperloop: https://docs.appcelerator.com/platform/latest/#!/guide/Enabling_Hyperloop

...