mirror of
https://github.com/bggRGjQaUbCoE/PiliPlus.git
synced 2026-06-02 00:58:19 +08:00
@@ -214,6 +214,9 @@ class _LiveRoomPageState extends State<LiveRoomPage>
|
|||||||
Alignment alignment = Alignment.center,
|
Alignment alignment = Alignment.center,
|
||||||
bool needDm = true,
|
bool needDm = true,
|
||||||
}) {
|
}) {
|
||||||
|
if (!plPlayerController.isLive) {
|
||||||
|
return const SizedBox.shrink();
|
||||||
|
}
|
||||||
if (!isFullScreen && !plPlayerController.isDesktopPip) {
|
if (!isFullScreen && !plPlayerController.isDesktopPip) {
|
||||||
_liveRoomController.fsSC.value = null;
|
_liveRoomController.fsSC.value = null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -684,109 +684,122 @@ class HeaderControlState extends State<HeaderControl> {
|
|||||||
final state = player.state;
|
final state = player.state;
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: const Text('播放信息'),
|
title: const Text('播放信息'),
|
||||||
content: SingleChildScrollView(
|
contentPadding: const EdgeInsets.only(top: 16),
|
||||||
child: Column(
|
constraints: const BoxConstraints(maxWidth: 425),
|
||||||
children: [
|
content: Material(
|
||||||
ListTile(
|
type: MaterialType.transparency,
|
||||||
dense: true,
|
child: ListTileTheme(
|
||||||
title: const Text("Resolution"),
|
contentPadding: const EdgeInsets.symmetric(
|
||||||
subtitle: Text(
|
horizontal: 24,
|
||||||
'${state.width}x${state.height}',
|
),
|
||||||
),
|
child: SingleChildScrollView(
|
||||||
onTap: () => Utils.copyText(
|
child: Column(
|
||||||
'Resolution\n${state.width}x${state.height}',
|
children: [
|
||||||
),
|
ListTile(
|
||||||
|
dense: true,
|
||||||
|
title: const Text("Resolution"),
|
||||||
|
subtitle: Text(
|
||||||
|
'${state.width}x${state.height}',
|
||||||
|
),
|
||||||
|
onTap: () => Utils.copyText(
|
||||||
|
'Resolution\n${state.width}x${state.height}',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
dense: true,
|
||||||
|
title: const Text("VideoParams"),
|
||||||
|
subtitle: Text(
|
||||||
|
state.videoParams.toString(),
|
||||||
|
),
|
||||||
|
onTap: () => Utils.copyText(
|
||||||
|
'VideoParams\n${state.videoParams}',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
dense: true,
|
||||||
|
title: const Text("AudioParams"),
|
||||||
|
subtitle: Text(
|
||||||
|
state.audioParams.toString(),
|
||||||
|
),
|
||||||
|
onTap: () => Utils.copyText(
|
||||||
|
'AudioParams\n${state.audioParams}',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
dense: true,
|
||||||
|
title: const Text("Media"),
|
||||||
|
subtitle: Text(
|
||||||
|
state.playlist.toString(),
|
||||||
|
),
|
||||||
|
onTap: () => Utils.copyText(
|
||||||
|
'Media\n${state.playlist}',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
dense: true,
|
||||||
|
title: const Text("AudioTrack"),
|
||||||
|
subtitle: Text(
|
||||||
|
state.track.audio.toString(),
|
||||||
|
),
|
||||||
|
onTap: () => Utils.copyText(
|
||||||
|
'AudioTrack\n${state.track.audio}',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
dense: true,
|
||||||
|
title: const Text("VideoTrack"),
|
||||||
|
subtitle: Text(
|
||||||
|
state.track.video.toString(),
|
||||||
|
),
|
||||||
|
onTap: () => Utils.copyText(
|
||||||
|
'VideoTrack\n${state.track.audio}',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
dense: true,
|
||||||
|
title: const Text("pitch"),
|
||||||
|
subtitle: Text(state.pitch.toString()),
|
||||||
|
onTap: () => Utils.copyText(
|
||||||
|
'pitch\n${state.pitch}',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
dense: true,
|
||||||
|
title: const Text("rate"),
|
||||||
|
subtitle: Text(state.rate.toString()),
|
||||||
|
onTap: () =>
|
||||||
|
Utils.copyText('rate\n${state.rate}'),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
dense: true,
|
||||||
|
title: const Text("AudioBitrate"),
|
||||||
|
subtitle: Text(
|
||||||
|
state.audioBitrate.toString(),
|
||||||
|
),
|
||||||
|
onTap: () => Utils.copyText(
|
||||||
|
'AudioBitrate\n${state.audioBitrate}',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
dense: true,
|
||||||
|
title: const Text("Volume"),
|
||||||
|
subtitle: Text(
|
||||||
|
state.volume.toString(),
|
||||||
|
),
|
||||||
|
onTap: () => Utils.copyText(
|
||||||
|
'Volume\n${state.volume}',
|
||||||
|
),
|
||||||
|
),
|
||||||
|
ListTile(
|
||||||
|
dense: true,
|
||||||
|
title: const Text('hwdec'),
|
||||||
|
subtitle: Text(hwdec),
|
||||||
|
onTap: () =>
|
||||||
|
Utils.copyText('hwdec\n$hwdec'),
|
||||||
|
),
|
||||||
|
],
|
||||||
),
|
),
|
||||||
ListTile(
|
),
|
||||||
dense: true,
|
|
||||||
title: const Text("VideoParams"),
|
|
||||||
subtitle: Text(
|
|
||||||
state.videoParams.toString(),
|
|
||||||
),
|
|
||||||
onTap: () => Utils.copyText(
|
|
||||||
'VideoParams\n${state.videoParams}',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
ListTile(
|
|
||||||
dense: true,
|
|
||||||
title: const Text("AudioParams"),
|
|
||||||
subtitle: Text(
|
|
||||||
state.audioParams.toString(),
|
|
||||||
),
|
|
||||||
onTap: () => Utils.copyText(
|
|
||||||
'AudioParams\n${state.audioParams}',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
ListTile(
|
|
||||||
dense: true,
|
|
||||||
title: const Text("Media"),
|
|
||||||
subtitle: Text(
|
|
||||||
state.playlist.toString(),
|
|
||||||
),
|
|
||||||
onTap: () => Utils.copyText(
|
|
||||||
'Media\n${state.playlist}',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
ListTile(
|
|
||||||
dense: true,
|
|
||||||
title: const Text("AudioTrack"),
|
|
||||||
subtitle: Text(
|
|
||||||
state.track.audio.toString(),
|
|
||||||
),
|
|
||||||
onTap: () => Utils.copyText(
|
|
||||||
'AudioTrack\n${state.track.audio}',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
ListTile(
|
|
||||||
dense: true,
|
|
||||||
title: const Text("VideoTrack"),
|
|
||||||
subtitle: Text(
|
|
||||||
state.track.video.toString(),
|
|
||||||
),
|
|
||||||
onTap: () => Utils.copyText(
|
|
||||||
'VideoTrack\n${state.track.audio}',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
ListTile(
|
|
||||||
dense: true,
|
|
||||||
title: const Text("pitch"),
|
|
||||||
subtitle: Text(state.pitch.toString()),
|
|
||||||
onTap: () =>
|
|
||||||
Utils.copyText('pitch\n${state.pitch}'),
|
|
||||||
),
|
|
||||||
ListTile(
|
|
||||||
dense: true,
|
|
||||||
title: const Text("rate"),
|
|
||||||
subtitle: Text(state.rate.toString()),
|
|
||||||
onTap: () =>
|
|
||||||
Utils.copyText('rate\n${state.rate}'),
|
|
||||||
),
|
|
||||||
ListTile(
|
|
||||||
dense: true,
|
|
||||||
title: const Text("AudioBitrate"),
|
|
||||||
subtitle: Text(
|
|
||||||
state.audioBitrate.toString(),
|
|
||||||
),
|
|
||||||
onTap: () => Utils.copyText(
|
|
||||||
'AudioBitrate\n${state.audioBitrate}',
|
|
||||||
),
|
|
||||||
),
|
|
||||||
ListTile(
|
|
||||||
dense: true,
|
|
||||||
title: const Text("Volume"),
|
|
||||||
subtitle: Text(
|
|
||||||
state.volume.toString(),
|
|
||||||
),
|
|
||||||
onTap: () =>
|
|
||||||
Utils.copyText('Volume\n${state.volume}'),
|
|
||||||
),
|
|
||||||
ListTile(
|
|
||||||
dense: true,
|
|
||||||
title: const Text('hwdec'),
|
|
||||||
subtitle: Text(hwdec),
|
|
||||||
onTap: () => Utils.copyText('hwdec\n$hwdec'),
|
|
||||||
),
|
|
||||||
],
|
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
actions: [
|
actions: [
|
||||||
|
|||||||
Reference in New Issue
Block a user