具体代码如下:
let rtc = {
localAudioTrack: null,
client: null
};
rtc.client = AgoraRTC.createClient({ mode: "live", codec: "vp8", role: "host" });
// Join an RTC channel.
await rtc.client.join(options.appId, channel, accessToken, Number(agoraUid))
// Create a local audio track from the audio sampled by a microphone.
rtc.localAudioTrack = await AgoraRTC.createMicrophoneAudioTrack();
// Publish the local audio tracks to the RTC channel.
await rtc.client.publish([rtc.localAudioTrack]);
//结束推流
// Destroy the local audio track.
rtc.localAudioTrack.close();
// Leave the channel.
await rtc.client.leave();
一般来说,调用了 close 后就释放相关采集设备资源了,不过结束推流时建议也调用一下 unpublish 方法。
如果还是有问题,麻烦告知/提供以下信息,我们来看下: