首页 > 其他分享 >Qt 中使用mplayer播放音乐不能是中文歌名

Qt 中使用mplayer播放音乐不能是中文歌名

时间:2023-09-12 20:35:12浏览次数:35  
标签:编码 中文 UTF Qt 文件 歌名 mplayer 字符

错误代码:

Qt中 File not found: './music/��ͤ��.mp3'

Qt 中使用mplayer播放音乐不能是中文歌名_文件编码

如果在 Qt 中无法正确识别包含中文字符的文件名,可能是因为默认的文件编码不支持中文字符

解决方案:

本人前两种方案均不可解决问题,方案三解决问题。

方案1:使用 Unicode 路径:将文件路径从字符串字面值转换为 Unicode 字符。例如,使用

QString::fromUtf8() 函数将文件路径从 UTF-8 编码转换为 Unicode 编码。示例代码如下:

QString filePath = QString::fromUtf8("./music/中文歌名.mp3");

然后,将 filePath 用于打开或加载音频文件。

方案2:修改文件编码设置:在应用程序初始化时,将全局文件编码设置为支持中文字符的编码(例如 UTF-8)。在 main 函数开始时添加以下代码:

QTextCodec::setCodecForLocale(QTextCodec::codecForName("UTF-8"));

这会将文件编码设置为 UTF-8,在读取文件时就可以正确处理中文字符。

方案3:使用notepad++转换格式:

Qt 中使用mplayer播放音乐不能是中文歌名_ico_02


标签:编码,中文,UTF,Qt,文件,歌名,mplayer,字符
From: https://blog.51cto.com/u_16254384/7447839

相关文章

  • QTableView部分基本使用、与数据库搭建
    创建一个QSqlTableModel来管理数据库表格的数据,可以在后续步骤中使用这个模型来与表格内容进行交互。QSqlTableModel*model=newQSqlTableModel;model->setTable("your_table_name");//设置表格名称model->select();//从数据库中选择数据设置QTableView模型:将QSqlTableMo......
  • 便捷的视觉体验与乐趣:KMPlayer
    Kmplayer是一款来自韩国的影音播放器,Kmplayer(简称KMP)几乎可以播放您系统上所有的影音文件。KMPlaye通过各种插件扩展KMP可以支持层出不穷的新格式。这款软件强大的插件功能,能够直接使用winamp的音频,输入,视觉效果插件。只要你喜欢,可以选择使用不同解码器对各种格式进行解码。KMPla......
  • 纯C++代码理解Qt中的信号和槽函数
    槽函数的调用是一个多步骤的过程:1.连接(Connect)首先,通过使用QObject::connect()函数来建立信号和槽之间的连接。QObject::connect(sender,SIGNAL(signalName(args)),receiver,SLOT(slotName(args)));这里的sender和receiver是QObject派生的对象,而signalName和slotName则分......
  • 教你2种方法,将iOS设备通过MQTT协议连接到华为云物联网平台
    本文分享自华为云社区《如何将iOS设备通过MQTT协议连接到华为云物联网平台:Flutter和Swift两种方法》,作者:张俭。前言当今时代,物联网技术正逐步改变我们的生活和工作方式。华为云IoTDA服务,为开发者提供了一个开放、稳定、可靠的基础设施,以便实现设备与云端的无缝连接和双向通......
  • RK3568开发笔记(八):开发板烧写buildroot固件(支持hdmi屏),搭建Qt交叉编译开发环境,编译一个D
    前言  前面发现开发板用ubuntu固件发现空间不够,本篇使用buildroot固件,来实现目标板运行qt界面应用。<br>烧写buildroot固件  这部分更详细的参照《RK3568开发笔记(六):开发板烧写ubuntu固件(支持mipi屏)》的步骤,本质上烧写都是一样的,只是不同的update.img。步骤一:下载镜像  ......
  • RK3568开发笔记(八):开发板烧写buildroot固件(支持hdmi屏),搭建Qt交叉编译开发环境,编译一个D
    前言  前面发现开发板用ubuntu固件发现空间不够,本篇使用buildroot固件,来实现目标板运行qt界面应用。 烧写buildroot固件  这部分更详细的参照《RK3568开发笔记(六):开发板烧写ubuntu固件(支持mipi屏)》的步骤,本质上烧写都是一样的,只是不同的update.img。步骤一:下载......
  • Qt-QWidget对样式表设置边框无效的解决方法
    相关资料:https://www.ngui.cc/el/1647992.html?action=onClick   1、现象在对QWidget使用样式表时无效QWidget#MyWgt{border:1pxsolidgray;}2、原因原因是QWidget只支持background、background-clip和background-origin属性。官方说明3、解决方法3.1使用QFrame代替QW......
  • Qt/C++音视频开发52-采集本地屏幕桌面的终极设计
    一、前言最开始设计的时候,只考虑了一个屏幕的情况,这种当然是最理想的情况,实际上双屏或者多屏的用户也不在少数,比如我这两个屏幕,屏幕1是1080P,屏幕2是2K分辨率,打印两个屏幕的区域是QRect(0,01920x1030),QRect(1920,-2082560x1390),可以看到有个负数值(可以在操作系统中的排列显示......
  • Python - PyQt5环境搭建
    前期准备:PyQt5以及其他组件的下载与安装    在python的图形界面开发过程中,我们需要三个组件,分别是:PyQt5、pyqt5-tools、PyQt5Designer,我们直接在命令行输入下面的代码进行安装即可:pipinstallPyQt5pipinstallpyqt5-toolspipinstallPyQt5Designer环境的设置:......
  • QtreeWidget的部分基本使用
    创建树节点(QTreeWidgetItem)并添加到QTreeWidget中://创建子节点QTreeWidgetItem*child1=newQTreeWidgetItem(root);child1->setText(0,"子节点1");child1->setText(1,"子节点1的列2内容");QTreeWidgetItem*child2=newQTreeWidgetItem(root);child2->......