Включите фоновый звук с подключенными наушниками, когда я записываю видео для караоке с приложением «реактивное видео» - PullRequest
0 голосов
/ 09 апреля 2019

Здравствуйте, я разрабатываю мобильное приложение , которое позволяет вам записывать видео в караоке со звуком назад, для этого я использую технологию response-native благодаря реагировать-нативно-видео !но здесь я сталкиваюсь с большой проблемой: после начала записи видео и установки звука в фоновом режиме, если у меня нет наушников , подключите звук, воспроизводимый в фоновом режиме, записывайте видео и сохраняйте хорошо, нокогда наушники подключены во время записи, сохраненное видео не содержит звука, воспроизводимого в фоне , а содержит только текст песни с микрофоном наушников

Так что звук, которыйВоспроизведение в фоновом режиме направлено только на наушники и не записывается микрофоном телефона во время записи видео, я нахожусь с караоке без звука в фоновом режиме, но с полной идеейкараоке.Чтобы попытаться решить эту проблему, я провел некоторое исследование по настройке, чтобы учесть это на github-аккаунте проекта response-native-video, не найдя чего-либо, поэтому примеры, которые я видел в Интернете другим разработчиком, не затрагивали этот аспект реакции.native-видео, когда звук должен воспроизводиться после того, как наушники подключаются и затем сохраняются вместе с записанным видео

Теперь вот часть моего кода, которая сначала управляет всем, что записываетвсего для интерфейсов, чтобы начать запись у меня есть это

для рендеринга constante

 const { paused, audioDownloading, playing, record, cameraType, challenge, loading, error, saving, focusedScreen } = this.state;

, а затем для видео

<View style={styles.bottomBar}>
      <Video
        ref={(ref) => {
          this.player = ref;
        }}
        source={{ uri: challenge.music }}
        onLoad={this.onLoad}
        onProgress={this.onProgress}
        // onEnd={this.onEnd}
        paused={paused}
        volume={challenge.type === 'DANCE' ? 1 : 0.1}
        repeat={false} />
    ....
     ....
        </TouchableOpacity>
        <TouchableOpacity onPress={paused === true ? this._onRecordPress : null}>
          <Image source={require('../static/images/record.png')} />
        </TouchableOpacity>
        <TouchableOpacity onPress={!!record ? this._onPlayPress : null} style={{width: 64, height: 64}}>
          <Image source={require('../static/images/icons/ic_play-circle.png')} style={{margin: 10}} />
        </TouchableOpacity>
      </View>
    </View>
  </View>  

вы можете заметить, что у меня естьопределил свойство источника, сославшись на uri аудио для воспроизведения в фоновом режиме (challenge_music).

затем кнопка для запуска записи управляется событием для записи, определяемым следующими строками кода

  _onRecordPress = async () => {
this.setState({ recording: true, paused: false });
const { uri, codec = "mp4" } = await this.camera.recordAsync({maxDuration: this.state.duration});
this.setState({record: uri});

};

и остановка записи определяется следующим событием:

_onStopPress = async () => {
this.camera.stopRecording();
this.setState({ paused: true, currentTime: 0 });
this.player.seek(0);

};

, поэтому теперь запись выполняется правильно, когда мы просто используем микрофон мобильного телефона со звуком, который воспроизводится в фоновом режиме после записи видео, но как только подключены наушники , то, что мы получаем в процессе записи, больше касается ее спины.Так как же я могу продолжить, чтобы запись видео в наушниках не содержала караоке, как сейчас, а также звук, воспроизводимый на заднем плане!?!: -)

...