当前位置: 首页 > news >正文

广州市白云区网站建设维护搜索引擎的工作原理是什么

广州市白云区网站建设维护,搜索引擎的工作原理是什么,宁波seo外包推广渠道,鄞州做网站第三代软件开发-系统音量设置 文章目录 第三代软件开发-系统音量设置项目介绍系统音量设置QML 实现C 实现 总结一下 关键字: Qt、 Qml、 volume、 声音、 GPT 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QML(Qt Meta-Obj…
头图

第三代软件开发-系统音量设置

文章目录

  • 第三代软件开发-系统音量设置
    • 项目介绍
    • 系统音量设置
      • QML 实现
      • C++ 实现
    • 总结一下

关键字: QtQmlvolume声音GPT

项目介绍

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。

在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。

在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资源消耗,以确保我们的项目在各种平台和设备上都能够高效运行。

无论您是对 QML 和 C++ 开发感兴趣,还是需要我们为您构建复杂的用户界面和后端逻辑,我们都随时准备为您提供支持。请随时联系我们,让我们一同打造现代化、高性能的 QML & C++ 项目!

重要说明☝

☀该专栏在第三代软开发更新完将涨价

系统音量设置

先看下效果,重点在C++

QML 实现

音量调节的前端实现方式很简单,就是一个Slider 和一个按钮组成

import QtQuick 2.15
import QtQuick.Layouts 1.15                                             // 布局需要
import QtQuick.Controls 2.15
import XXXX 1.0
Popup
{id:rootwidth: 360height: 60visible: falsebackground: Rectangle{color:"#24272B"}RowLayout{anchors.centerIn: parentspacing: 20Button{width: 26height: 26checkable: truechecked:(slider_volume.value === 0) ? true : falsebackground: Image{anchors.centerIn: parentwidth: parent.checked ? 26 : 17height: 26source: parent.checked ? "qrc:/MainWindow/T_Resource/T_Image/MainWindow/jingyin.png" : "qrc:/MainWindow/T_Resource/T_Image/MainWindow/lb.png"}onClicked:{playSound.play()if(checked){slider_volume.value = 0;}}}Slider{id:slider_volumewidth: 250height: 20from: 0stepSize: 1to:100value: Setting.systemVolumebackground: Rectangle {x: slider_volume.leftPaddingy: slider_volume.topPadding + slider_volume.availableHeight / 2 - height / 2implicitWidth: 200implicitHeight: 4width: slider_volume.availableWidthheight: implicitHeightradius: 2color: "#bdbebf"Rectangle {width: slider_volume.visualPosition * parent.widthheight: parent.heightcolor: "#51A7DE"radius: 2}}handle: Rectangle {x: slider_volume.leftPadding + slider_volume.visualPosition * (slider_volume.availableWidth - width)y: slider_volume.topPadding + slider_volume.availableHeight / 2 - height / 2implicitWidth: 26implicitHeight: 26radius: 13color: slider_volume.pressed ? "#f0f0f0" : "#f6f6f6"border.color: "#bdbebf"}onValueChanged:{Setting.systemVolume = value}}Text {font.pixelSize: 20color: "#56A8DC"text: Setting.systemVolume}}
}

C++ 实现

这里需要系统安装一个库,执行以下代码

sudo apt-get install libasound2-dev

要使用下面函数生效,需要包含头文件

#include "alsa/asoundlib.h"

设置音响实现代码:

/*** @brief XXXX::setSystemVolume* @param newSystemVolume* 设置系统音量*/
void XXXX::setSystemVolume(int newSystemVolume)
{#ifdef Q_OS_LINUXif (m_systemVolume == newSystemVolume)return;m_systemVolume = newSystemVolume;emit systemVolumeChanged();snd_mixer_t *handle;snd_mixer_open(&handle, 0);snd_mixer_attach(handle, "default");snd_mixer_selem_register(handle, NULL, NULL);snd_mixer_load(handle);snd_mixer_selem_id_t *sid;snd_mixer_selem_id_alloca(&sid);snd_mixer_selem_id_set_index(sid, 0);snd_mixer_selem_id_set_name(sid, "Master");snd_mixer_elem_t *elem = snd_mixer_find_selem(handle, sid);snd_mixer_selem_set_playback_volume_all(elem, m_systemVolume * (0xFFFF / 100));snd_mixer_close(handle);
#endif
}

设置第一步是不是我们得获取系统音量,代码如下:

/*** @brief XXXX::getVolume* @return* 获取系统音量*/
int XXXX::getVolume()
{
#ifdef Q_OS_LINUXsnd_mixer_t *handle;snd_mixer_selem_id_t *sid;snd_mixer_elem_t *elem;long volume;snd_mixer_open(&handle, 0);snd_mixer_attach(handle, "default");snd_mixer_selem_register(handle, NULL, NULL);snd_mixer_load(handle);snd_mixer_selem_id_alloca(&sid);snd_mixer_selem_id_set_index(sid, 0);snd_mixer_selem_id_set_name(sid, "Master");elem = snd_mixer_find_selem(handle, sid);snd_mixer_selem_get_playback_volume(elem, SND_MIXER_SCHN_MONO, &volume);snd_mixer_close(handle);return volume/(0xFFFF / 100);
#endif#ifdef Q_OS_WIN32return 0;
#endif}

总结一下

如上所述,这段代码不具备普遍性,仅仅适用于Linux,是通过snd_mixer库来实现系统音量的调节。其实也想过使用指令实现,不过没有发现好用的。也问过GPT,不过答案也不理想,和我上面的原理也基本一样。

要在Ubuntu中设置系统音量,您可以使用以下命令:

  1. 调整音量大小:

    • amixer set Master <volume>:将音量设置为指定的值。例如,amixer set Master 50%将音量设置为50%。
    • amixer set Master <volume>%:将音量设置为百分比。例如,amixer set Master 80%将音量设置为80%。
    • amixer set Master <volume>+/-<increment>:增加或减少音量。例如,amixer set Master 5%+将音量增加5%,amixer set Master 5%-将音量减少5%。
  2. 静音和取消静音:

    • amixer set Master mute:将音频静音。
    • amixer set Master unmute:取消音频静音。

请注意,这些命令将直接调整系统的主音量控制器。但请确保您具有适当的权限来执行这些操作。

另一个版本的GPT

要在Ubuntu上设置系统音量,你可以使用amixer命令。以下是一些常用的指令:

  1. 查看当前的音量状态:

    amixer get Master
    
  2. 将音量设置为特定百分比(例如50%):

    amixer set Master 50%
    
  3. 增加音量:

    amixer set Master 5%+
    
  4. 减小音量:

    amixer set Master 5%-
    

请注意,这些命令会更改系统的主音量。你也可以使用其他工具,如pactlalsamixer来调整音量。


博客签名2021
http://www.hkea.cn/news/216327/

相关文章:

  • 建站城企业邮箱怎么开通注册
  • html做动态网站cms
  • 一个网站建设需要多少钱百度seo排名优化公司
  • 网站做app的软件友博国际个人中心登录
  • 做网站用什么代码编写可口可乐软文营销案例
  • 宜昌网站建设哪家好厦门百度广告开户
  • 网站做二级域名外链
  • 网站建设服务费属于哪个大类电商seo搜索优化
  • 12380网站建设情况的报告网络seo首页
  • 个人如何在百度上做广告网站seo什么意思
  • java做网站编程合肥seo快排扣费
  • 做律师网站公司google play下载
  • 网站怎么做详情页北京网站制作建设公司
  • 广告网站模板下载不了东莞排名优化团队
  • 网站建设人员培训纲要河北seo网络推广
  • jsp网站开发实例视频教程各大网站的网址
  • 手机网站设计要素推广竞价
  • 久久医药网seo推广培训费用
  • 网站做301顶级域名需要绑定网站排名掉了怎么恢复
  • wordpress app 源码合肥seo整站优化网站
  • 建立网站基本步骤安仁网络推广
  • 网页建设方案怎么写网站seo优化心得
  • 还没有做网站可以先备案域名吗seo怎么提升关键词的排名
  • 做网站原型图软件优化设计七年级下册语文答案
  • 2023年舆情分析报告seo优化宣传
  • 武汉网站建设 熊掌号最佳磁力引擎吧
  • 教育平台网站开发品牌运营
  • 91人才网赣州招聘网安卓优化大师app下载安装
  • 合肥网页模板建站营业推广策划
  • 网站做301根目录在哪教育培训机构平台