dependencies:live_flutter_plugin: latest version number
import 'package:live_flutter_plugin/v2_tx_live_premier.dart';/// 腾讯云License管理页面(https://console.tencentcloud.com/live/license)setupLicense() {// 当前应用的License LicenseUrlvar LICENSEURL = "";// 当前应用的License Keyvar LICENSEURLKEY = "";V2TXLivePremier.setLicence(LICENSEURL, LICENSEURLKEY);}
V2TXLivePusher
对象,需要指定对应的 V2TXLiveMode
。import 'package:live_flutter_plugin/v2_tx_live_pusher.dart';/// V2TXLivePusher 初始化initPusher() {_livePusher = V2TXLivePusher(V2TXLiveMode.v2TXLiveModeRTC);}
import 'package:live_flutter_plugin/widget/v2_tx_live_video_widget.dart';/// 视频渲染View WidgetWidget renderView() {return V2TXLiveVideoWidget(onViewCreated: (viewId) async {/// 设置视频渲染View_livePusher.setRenderViewID(_renderViewId);/// 开启摄像头预览_livePusher.startCamera(true);},);}
/// 开始推流startPush() async {// 生成推流地址 RTMP/TRTCvar url = "";// 开始推流await _livePusher.startPush(url);// 打开麦克风await _livePusher.startMicrophone();}
/// 停止推流stopPush() async {// 关闭摄像头await _livePusher.stopCamera();// 关闭麦克风await _livePusher.stopMicrophone();// 停止推流await _livePusher.stopPush();}
startPush
接口返回 V2TXLIVE_ERROR_INVALID_LICENSE
,则代表您的 License 校验失败了,请检查 第2步:给 SDK 配置 License 授权 中的工作是否有问题。/// 开始推流startPush() async {// 初始化V2TXLivePusher_livePusher = V2TXLivePusher(V2TXLiveMode.v2TXLiveModeRTC);// 生成推流地址 RTMP/TRTCvar url = "";// 开始推流await _livePusher.startPush(url);// 打开麦克风await _livePusher.startMicrophone();}
setVideoQuality
设定的视频编码器的编码质量,观众端可以感受到画质的差异。详情请参见 设定画面质量。美颜风格 | 效果说明 |
TXBeautyStyleSmooth | 光滑,适用于美女秀场,效果比较明显 |
TXBeautyStyleNature | 自然,磨皮算法更多地保留了面部细节,主观感受上会更加自然 |
TXBeautyStylePitu | 由上海优图实验室提供的美颜算法,磨皮效果介于光滑和自然之间,比光滑保留更多皮肤细节,比自然磨皮程度更高 |
美颜风格 | 设置方式 | 接口说明 |
美颜级别 | 通过 TXBeautyManager 的 setBeautyLevel 设置 | 取值范围0 - 9; 0表示关闭,1 - 9值越大,效果越明显 |
美白级别 | 通过 TXBeautyManager 的 setWhitenessLevel 设置 | 取值范围0 - 9; 0表示关闭,1 - 9值越大,效果越明显 |
红润级别 | 通过 TXBeautyManager 的 setRuddyLevel 设置 | 取值范围0 - 9; 0表示关闭,1 - 9值越大,效果越明显 |
getDeviceManager
获取 TXDeviceManager 实例进一步进行设备管理,详细用法请参见 TXDeviceManager API。// 视频编码参数var param = V2TXLiveVideoEncoderParam();param.videoResolutionMode = isLandscape ? V2TXLiveVideoResolutionMode.v2TXLiveVideoResolutionModeLandscape : V2TXLiveVideoResolutionMode.v2TXLiveVideoResolutionModePortrait;_livePusher.setVideoQuality(param);
enableVoiceEarMonitor
选项可以开启耳返功能,“耳返”指的是当主播带上耳机来唱歌时,耳机中要能实时反馈主播的声音。setVoiceReverbType
接口可以设置混响效果,例如 KTV、会堂、磁性、金属等,这些效果也会作用到观众端。setVoiceChangerType
接口可以设置变调效果,例如“萝莉音”,“大叔音”等,用来增加直播和观众互动的趣味性,这些效果也会作用到观众端。
事件 ID | 数值 | 含义说明 |
V2TXLIVE_ERROR_FAILED | -1 | 暂未归类的通用错误 |
V2TXLIVE_ERROR_INVALID_PARAMETER | -2 | 调用 API 时,传入的参数不合法 |
V2TXLIVE_ERROR_REFUSED | -3 | API 调用被拒绝 |
V2TXLIVE_ERROR_NOT_SUPPORTED | -4 | 当前 API 不支持调用 |
V2TXLIVE_ERROR_INVALID_LICENSE | -5 | license 不合法,调用失败 |
V2TXLIVE_ERROR_REQUEST_TIMEOUT | -6 | 请求服务器超时 |
V2TXLIVE_ERROR_SERVER_PROCESS_FAILED | -7 | 服务器无法处理您的请求 |
事件 ID | 数值 | 含义说明 |
V2TXLIVE_WARNING_NETWORK_BUSY | 1101 | 网络状况不佳:上行带宽太小,上传数据受阻 |
V2TXLIVE_WARNING_VIDEO_BLOCK | 2105 | 视频回放期间出现滞后 |
V2TXLIVE_WARNING_CAMERA_START_FAILED | -1301 | 摄像头打开失败 |
V2TXLIVE_WARNING_CAMERA_OCCUPIED | -1316 | 摄像头正在被占用中,可尝试打开其他摄像头 |
V2TXLIVE_WARNING_CAMERA_NO_PERMISSION | -1314 | 摄像头设备未授权,通常在移动设备出现,可能是权限被用户拒绝了 |
V2TXLIVE_WARNING_MICROPHONE_START_FAILED | -1302 | 麦克风打开失败 |
V2TXLIVE_WARNING_MICROPHONE_OCCUPIED | -1319 | 麦克风正在被占用中,例如移动设备正在通话时,打开麦克风会失败 |
V2TXLIVE_WARNING_MICROPHONE_NO_PERMISSION | -1317 | 麦克风设备未授权,通常在移动设备出现,可能是权限被用户拒绝了 |
V2TXLIVE_WARNING_SCREEN_CAPTURE_NOT_SUPPORTED | -1309 | 当前系统不支持屏幕分享 |
V2TXLIVE_WARNING_SCREEN_CAPTURE_START_FAILED | -1308 | 开始录屏失败,如果在移动设备出现,可能是权限被用户拒绝了 |
V2TXLIVE_WARNING_SCREEN_CAPTURE_INTERRUPTED | -7001 | 录屏被系统中断 |
本页内容是否解决了您的问题?