import RTMPPublisher, {
RTMPPublisherRefProps,
StreamState,
BluetoothDeviceStatuses,
} from 'react-native-rtmp-publisher';
const publisherRef = useRef<RTMPPublisherRefProps>(null);
const url = 'rtmp://global-live.mux.com:443/app';
<RTMPPublisher
ref={publisherRef}
streamURL={url}
streamName={stream_key}
style={styles.publisher_camera}
onDisconnect={handleOnDisconnect}
onConnectionFailed={handleOnConnectionFailed}
onConnectionStarted={handleOnConnectionStarted}
onConnectionSuccess={handleOnConnectionSuccess}
onNewBitrateReceived={handleOnNewBitrateReceived}
onStreamStateChanged={handleOnStreamStateChanged}
onBluetoothDeviceStatusChanged={handleBluetoothDeviceStatusChange}
/>
错误::配置流,握手错误,收到意外的 21 S0
调用“publisherRef.current.startStream();”时收到上述错误
我在streamName中尝试了不同的streamKey。我期望的是在 Mux 中创建直播
您似乎正在使用
react-native-rtmp-publisher
库通过 Mux 创建直播流。但是,我注意到您的代码中有一个错误。
在这一行中:
const url = 'rtmp://global-live.mux.com:443/app';
您正在尝试将
url
变量设置为 RTMP 服务器 URL。但是,您应该将 'rtmp://global-live.mux.com:443/app'
替换为您的实际 RTMP 服务器 URL。
确保将
'rtmp://global-live.mux.com:443/app'
替换为您想要流式传输的 RTMP 服务器的 URL。此 URL 通常包括协议 (rtmp://
)、服务器主机名(例如 example.com
)、端口号(例如 1935
)和应用程序名称(例如 live
)。与您的 RTMP 服务器提供商(例如 Mux)验证这些详细信息。
此外,请确保将
stream_key
组件的 <RTMPPublisher />
属性中的 streamName
替换为 Mux Dashboard 中的实际流密钥。该流密钥唯一标识您在 RTMP 服务器上的流。
使用正确的 RTMP 服务器 URL 和流密钥更新代码后,就可以进行测试了。