vc++编写播放器_为什么此开发人员用C ++编写音乐播放器

vc++编写播放器

最近,我正在通过Schiit Fulla 2 DAC在System76 Gazelle笔记本电脑上收听一些新购买的音乐下载,我在想音乐听起来多么美妙,以及使用我最喜欢的开源音乐播放器有多少乐趣。

我开始想知道是什么激励了创建和维护这些优秀软件的开发人员,因此我决定接触其中的一些人。 我进行了一些精彩的对话,我将在Opensource.com上分享这些对话。 但是首先,我要对如何对开放源音乐播放器(包括Guayadeque)进行这样的欣赏有一些背景知识,该音乐播放器由JuanRíos和我的第一个“严肃的”开放源音乐播放器创建。

我的开源音乐播放器之旅

我最早在开放源音乐播放器上的经历是在2006年,当时我们一家人在法国格勒诺布尔花了一年时间。 音乐是我们生活中的重要组成部分,但我们看不到随身携带整个CD系列。 因此,在当时几乎是新的东芝笔记本电脑上重新安装Linux之后,我开始将喜欢的CD翻录到FLAC并使用Rhythmbox进行整理。 我需要使用东芝来工作和娱乐,所以我不能用掉过多的“巨大” 100GB存储空间。 我记得Grado耳机上的音乐听起来出奇的好,并计划购买便宜但不错的一对有源扬声器,以便整个家庭都可以在我们的新临时住所中收听。

我一直使用Rhythmbox直到2011年初,那时我对它的功能越来越不满意,并开始探索替代方法。 我不喜欢像ExaileAmarok这样的面向播放列表的播放器; 我不热衷于女妖,因为我不热衷于Mono平台。 然后我发现了瓜亚德克。 我喜欢它的智能播放列表,封面获取和音轨间淡入淡出功能,并且我注意到,这一切都是默认情况下发生的,无需弄清复杂的插件集合和调整即可开始。

到2012年初,我订购了我的第一个高分辨率数模转换器(DAC),即Schiit Bifrost,我之所以选择它是因为Schiit技术支持说它应该与Linux兼容。 当我将其连接到家庭立体声系统时,我真的很喜欢DAC所做的事情。 到这个时候,我不再使用的东芝降级为家庭音乐播放器了。 我开始尝试MPD ,Linux和Android客户端,并在2014年中期购买了我的第一台专用音乐服务器 CuBox-i4,以取代东芝。 同时,我继续在工作笔记本电脑和台式机上使用Guayadeque 。 这两种设置都允许我通过高级Linux声音体系结构( ALSA )来播放我的音乐库,包括我越来越多的高于CD分辨率的音乐,而无需重新采样。

到2016年末,我已经尝试了其他几款音乐播放器,这些音乐播放器通过Qua LibetGmusicbrowserGogglesMM通过ALSA向DAC发送了原始音乐流,并保持原样 。 其中,我特别喜欢GogglesMM的极简主义方法-直接与ALSA的硬件接口对话非常轻巧且可配置。 从那以后,我发现了更多喜欢的球员,包括草莓

认识Guayadeque开发人员JuanRíos

在本系列的第一篇文章中,我采访了设计,建造和维护Guayadeque的JuanRíos。 Juan居住在加那利群岛,这是一个位于非洲西北海岸的西班牙自治社区。 我们对开源音乐播放器和一般生活进行了有趣的讨论。 为了使内容简洁明了,我们对会话进行了编辑。

问:您何时以及为何决定创建Guayadeque?

答: 2008年,我评估了Amarok,Banshee和Rhythmbox来存储我的大型音乐收藏(约20,000首歌曲)。 他们都无法胜任管理如此庞大的收藏。 我主要是出于业余爱好进行编程,因此我决定编写自己的音乐播放器,以高效,快速的方式管理大型音乐收藏。 第一版发布于2009年。这是一项艰巨的工作!

问:当时,您的工作涉及编程吗? 您在Linux中工作吗?

答:我从事编程已有30年左右,但直到最近三年我才参与与工作相关的编程和软件支持。 我从2000年开始使用Linux,因为它比我评估的其他选项更可靠,更有用。 另外,我非常感谢周围的自由文化。

问:您认为瓜亚德克最重要的功能和组件是什么?

答:首先,它是用C ++编程的。 我使用了WxWidgets跨平台GUI库,因为即使我主要对Linux方面感兴趣,我也希望它也可以在其他平台上运行。 我使用SQLite作为存储音乐元数据的数据库,并使用GStreamer来管理音频流。

在组件方面,最突出的是音量单位(VU)米,它显示了峰值和均方根(RMS)信号电平; 智能播放列表; 处理大量音乐收藏的能力; 能够将其他格式的全部或部分音乐库同步到便携式设备(例如电话); 并且能够将GStreamer连接到各种Linux音频软件,包括PulseAudio,ALSA,Open Sound System等。

我很高兴我用C ++编写了Guayadeque,它在良好的性能中起着重要的作用。 我主要使用像XFCE这样的轻量级桌面环境,并且我没有镇上最快的硬件,因此,在一个适度的计算平台上确保Guayadeque的高效和快速很重要。

问:您能告诉我一些有关VU表的信息吗?

答:这个想法是模仿专业录音设备上的信号电平表。 播放歌曲时,用户可以看到最新的峰值信号电平,当前信号电平和RMS信号电平。 RMS表示“均方根”,这是一种平均过程,指示总体的表观响度。 左(上)和右(下)通道有一个单独的仪表。

Guayadeque's VU meter

瓜亚德克(Guayadeque)的VU表显示轨道的峰值,电流和RMS电平。

问:智能播放列表如何?

答:当用户启用智能播放列表功能时,Guayadeque将搜索LastFM和用户的音乐库,以查找其他LastFM用户已指示与当前正在播放的歌曲相似且也在用户的音乐库中的歌曲。 这允许玩家使用其他人的推荐来构建播放列表。

(例如,在此图像中,玩家发现“ Son para ti”,“ Yamulemu”和“ Fue una de mambo”之间存在“类似”建议。)

Guayadeque's smart playlist

Guayadeque的智能播放列表会自动将歌曲排入队列。

问:你是音乐家吗? 您喜欢听音乐吗?

答:我不是音乐家。 我的一个孩子在弹钢琴,但是那和我差不多。 我喜欢很多不同类型的音乐,总的来说,我喜欢一次听一整张专辑。 我通常使用耳机收听,并且不使用外部DAC。 我发现计算机声卡产生的质量足以满足我的需求。

问:您对瓜亚德克感到满意吗? 未来该何去何从?

答:一般来说,我对瓜亚德克很满意。 在我看来,投入的时间和精力似乎是值得的。 它满足了我的设计目标,并且我已经收到了很多有关其设计和实现的正面反馈。 几年前,我很容易根据用户的要求添加直接与ALSA交互的功能。

Setting the ALSA output device

设置Guayadeque的ALSA输出设备。

我的主要失望之处在于,我无法吸引其他人加入到我的开发和支持中来。 我想建立一个Guayadeque社区。 为此,我感到我对WxWidgets的选择还不够主流,因此我开始使用Qt重写Guayadeque。 我希望这将吸引更多的兴趣并参与维护和增强软件。


我很高兴有机会与JuanRíos谈谈Guayadeque,这是开源音乐播放器,多年来给我带来了极大的乐趣。 我希望他在转入Qt的过程中一切顺利,也希望他实现建立发展社区的目标。

至于音乐...

最近,我偶然发现了一家有趣的在线音乐商店,名为Juno Download ,该商店将自己称为“舞蹈MP3下载商店”,拥有超过500万首曲目,包括FLAC等各种格式。 它还提供样本包和DJ图表。 我很高兴找到FLAC(CD品质)格式的Massive Attack的仪式精神 ,以取代前一段时间购买的MP3版本。 我还获得了CD品质FLAC格式的Peace Orchestra的专辑Peace OrchestraReset 。 我长期以来一直是Peter Kruder的忠实拥护者 ,但是发现Reset仅在黑胶唱片上使用(这很棒,但旅行时不方便)。 Juno Download非常适合Linux使用,完全不需要膨胀软件下载管理器。 真好!

对于那些对Doobie兄弟怀有美好回忆的人,您可能想看看The Best of the Doobies ,它们于2016年以高分辨率FLAC(192kHz采样率/ 24位字长)重新制作并重新发行。 这是Spek声谱分析仪对8轨信号内容的理解

Acoustic spectrum analyzer

杜比兄弟(Doobie Brothers)于2016年重新制作了“它让您流连忘返”的母版。

很高兴看到这不仅仅是在192/24上“重新制作”的CD质量的副本。

我从7digital那里获得了它,这是我最喜欢Linux的在线音乐商店之一。 音乐对我来说听起来很棒; 它似乎没有被过度压缩,峰值接近0dB,但RMS值一般都在-10至-6dB左右,而且我喜欢漫步内存!

翻译自: https://opensource.com/article/19/6/creator-guayadeque-music-player

vc++编写播放器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值