Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Bug] 软件卡死 #383

Open
2 of 6 tasks
yimo0908 opened this issue Apr 21, 2024 · 1 comment
Open
2 of 6 tasks

[Bug] 软件卡死 #383

yimo0908 opened this issue Apr 21, 2024 · 1 comment
Assignees

Comments

@yimo0908
Copy link

Bug 描述

使用时多次出现卡死

  • 播放视频时视频播放正常但ui失灵且不自动消失且弹幕消失
  • 播放按钮一直转圈,随后显示视频第一帧,但无法播放

复现问题的步骤

· ui卡死
1. 打开应用
2. 进入动态
3. 点进任一视频
4. 设置弹幕透明度
5. 尝试取消弹幕显示
6. ui失灵
· 无法播放
1. 打开应用
2. 点进任意视频
3. 播放失败

上述两bug轮流出现

预期行为

  1. 可正常播放视频
  2. ui可正常使用

截图

image
image

应用来源

  • Github
  • AppCenter
  • 其它

其它来源

No response

系统版本

  • Windows 11 21H2 (Build 22000)
  • Windows 11 22H2 (Build 22621)
  • 其它 (需注明)

其它系统版本

Windows 11 22H2 (Build 23570)

运行设备

桌面/平板或笔记本

日志记录

applog.2024-04-21.log

备注

使用通意灵码分析了日志:

基于提供的错误日志,我分析出了以下几点问题:

多个并发的ContentDialog尝试打开:

错误信息:“某个异步操作没有正常启动。”和“Only a single ContentDialog can be open at any time.”
发生位置:Bili.Copilot.App.Forms.MainWindow.OnAppViewModelRequestShowMessageAsync
原因与建议:
在应用程序中,有多个ContentDialog试图同时显示,导致了此异常。在Windows UWP或WinUI应用中,同一时间只能有一个ContentDialog处于打开状态。
应确保在关闭当前打开的ContentDialog之后再尝试打开新的对话框,或者使用适当的同步机制来避免并发打开。
播放失败:Timeout:

错误信息:“System.Exception: 播放失败: Timeout”
发生时间:20:56:19、21:00:16
原因与建议:
应用程序在尝试播放媒体内容时超时。可能的原因包括网络连接问题、服务器响应慢、媒体文件加载延迟等。
需要检查播放逻辑中的超时设置是否合理,优化网络请求或资源加载过程,增加重试机制,或者为用户提供友好的错误提示和解决方案建议。
播放失败:Cancelled:

错误信息:“System.Exception: 播放失败: Cancelled”
发生时间:20:59:38
原因与建议:
播放操作被取消。这可能是由于用户主动操作(如点击暂停或关闭按钮)、系统中断或其他内部逻辑触发的取消请求。
调查相关代码逻辑,确认是否有意外的取消请求发送,或者用户交互可能导致的未预期行为。确保播放控制逻辑对取消事件做出恰当响应,避免引发异常。
媒体播放器尚未就绪:

错误信息:“System.InvalidOperationException: 此时媒体播放器尚未就绪”
发生位置:Bili.Copilot.ViewModels.PlayerDetailViewModel.EnsureMediaPlayerExist()
原因与建议:
在调用播放/暂停操作时,发现媒体播放器实例不存在或尚未初始化完成。这可能是由于初始化过程未完成、播放器实例被提前释放,或是相关状态管理不当导致。
确保在调用播放/暂停等操作前,媒体播放器已经正确创建并进入可用状态。可以考虑在播放器初始化完成后设置标志位,或在播放操作前添加必要的状态检查。
综上所述,建议开发者针对上述问题进行代码审查和调试,修复可能导致并发ContentDialog打开、播放超时或取消、以及媒体播放器未就绪的问题。同时,优化用户体验,为可能出现的异常情况提供清晰的错误提示和适当的恢复策略。

人人为我,我为人人

我更擅长发现问题

@Richasy
Copy link
Owner

Richasy commented Apr 25, 2024

建议在设置页面切换到网页播放器或者 mpv 播放器

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants