Signed-off-by: bggRGjQaUbCoE <githubaccount56556@proton.me>
This commit is contained in:
bggRGjQaUbCoE
2025-11-19 10:04:09 +08:00
parent 8e1d5e0dd5
commit 1fb798db4e
2 changed files with 118 additions and 102 deletions

View File

@@ -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;
} }

View File

@@ -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: [