flutter - 在 Flutter 应用上播放带有广告的 YouTube 视频
问题描述
我想实现一个基于观看 YouTube 视频的代码。我可以使用flutter_youtube_plugin插件实现视频播放器,但是它会阻止或不显示通过 YouTube 打开时可以看到的视频上的广告。在这种情况下将采用什么方法?是否可以在应用程序上展示广告?
谢谢你的帮助。
lass _MyHomePageState extends State<MyHomePage> {
late YoutubePlayerController _controller;
late TextEditingController _idController;
late TextEditingController _seekToController;
late PlayerState _playerState;
late YoutubeMetaData _videoMetaData;
double _volume = 100;
bool _muted = false;
bool _isPlayerReady = false;
final List<String> _ids = [
'ynSqKLeGRW8',
'gQDByCdjUXw',
'iLnmTe5Q2Qw',
'_WoCV4c6XOE',
'KmzdUe0RSJo',
'6jZDSSZZxjQ',
'p2lYr3vM_1w',
'7QUtEmBT_-w',
'34_PXCzGw1M',
];
@override
void initState() {
super.initState();
_controller = YoutubePlayerController(
initialVideoId: _ids.first,
flags: const YoutubePlayerFlags(
mute: false,
autoPlay: true,
disableDragSeek: false,
loop: false,
isLive: false,
forceHD: false,
enableCaption: true,
),
)..addListener(listener);
_idController = TextEditingController();
_seekToController = TextEditingController();
_videoMetaData = const YoutubeMetaData();
_playerState = PlayerState.unknown;
}
void listener() {
if (_isPlayerReady && mounted && !_controller.value.isFullScreen) {
setState(() {
_playerState = _controller.value.playerState;
_videoMetaData = _controller.metadata;
});
}
}
@override
void deactivate() {
// Pauses video while navigating to next page.
_controller.pause();
super.deactivate();
}
@override
void dispose() {
_controller.dispose();
_idController.dispose();
_seekToController.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(widget.title),
),
body: Center(
child: YoutubePlayer(
controller: _controller,
aspectRatio: 16 / 9,
),
),
);
}
解决方案
推荐阅读
- c# - 如何使用 Newtonsoft Json 将 DateTimeOffset 值序列化为 UTC 格式
- javascript - 自定义 JS 聚合函数可反应组从表中提取数据
- python - 实现多个生产者和多个工作者会导致死锁
- azure - 什么是 Azure 私有 DNS 区域组?
- python - 两个水平子图中的两个密度热图
- excel - 打开 Publisher 错误:“Windows 内存不足”
- java - Sprinboot 1.4.0,是否可以在启动应用程序时选择哪些 jars 包含在类路径中
- php - 如何只用 wordpress 打标签
- selenium - Robotframework ctrl + space 不适用于 VS Code
- java - 将 spring-security-saml2-core 从 1.0.10.RELEASE 升级到 2.0.0.M31 时,Saml2 核心升级失败