如何使用react原生音轨播放器来流式传输现场音频

ep6jt1vc  于 2022-12-19  发布在  React
关注(0)|答案(1)|浏览(188)

你好,我有一个流媒体服务,(这是一个在线电台),我需要在我的应用程序流,它的网址如下
https://cast.uncuartocomunicacion.com:8020/live
我一直在用react native sound player播放音乐,但我觉得安卓系统的性能有问题,所以我换了react native track player,但我一直不能播放流媒体服务。
下面是我一直在使用的代码。

const start = async () => {
    await TrackPlayer.setupPlayer();
    await TrackPlayer.add({
      id: 'trackI1',
      url: 'https://cast.uncuartocomunicacion.com:8020/live',
      title: 'Area deportiva',
      artist: 'Area deportiva',
      artwork: {
        uri:
          'https://pbs.twimg.com/profile_images/1480935488232075270/STi9FaUo_400x400.jpg',
      },
    });
    TrackPlayer.updateOptions({
      stopWithApp: false,
    });
    setLoading(false);
  };
  useEffect(() => {
    //let isMounted = true;

    //Alert.alert(audioUrl);
    //getUrl();
    //SoundPlayer.loadUrl('https://cast.uncuartocomunicacion.com:8020/live');
    /*TrackPlayer.setupPlayer()
      .then(() => {
        setLoading(false);
      })
      .catch((e) => {
        setLoading(false);
      });*/
    start()
      .then()
      .catch((e) => {
        Alert.alert('e ' + JSON.stringify(e));
      });
  }, []);

  const handlePlayPause = () => {
    console.warn('asa is playing ', isPlaying);

    /* */
    try {
      /* !isPlaying ? SoundPlayer.resume() : SoundPlayer.pause();*/
      if (!isPlaying) {
        Alert.alert('enre aquiu ');
        TrackPlayer.play()
          .then((r) => {
            Alert.alert('then play' + JSON.stringify(r));
          })
          .catch((e) => {
            Alert.alert('e ' + JSON.stringify(e));
          });
      } else {
        TrackPlayer.pause().then((r) => console.log(r));
      }
    } catch (e) {}

    setIsPlaying(!isPlaying);
  };

希望有人能帮帮我!!!

lx0bsm1f

lx0bsm1f1#

由于某种原因,当您使用SSL播放音频并使用另一个端口(8020)时,它不起作用,但您可以尝试使用http并添加
安卓系统:使用明文流量=“真”
在Android清单中

相关问题