创建一个媒体播放器(mplayer 的 GUI 前端)有多难,需要入门指导
我对所有可用的媒体播放器都非常不满意,而且我也在寻找一个主要项目来真正进入编程。所以我正在考虑编写自己的媒体播放器。或者更准确地说,mplayer 的 GUI 前端(类似于 smplayer)。这会有多难?我有充足的时间(几个月),并且愿意学习任何东西。
我实际上对任何 windows/gui 库都一无所知。我的编程经验:尝试了很多不同的语言,用 php 编写了几个网站,用 java 进行了大量练习(尽管没有做任何重大的事情)。这就是全部
有人可以提供一些关于从哪里开始的指导吗?都读什么。应该使用哪种语言。 C#/.net 是一个很好的语言吗?由于我不是任何语言的专家,并且涉足过许多不同的语言,所以我认为我可以学习任何语言。虽然我主要担心的是我缺乏任何实践知识。所以请指导我。
最后,我的偏好是 Windows(哈哈,无论如何),所以这就是我的目标,也是我将在其中进行编码的地方。
总而言之,我想为 mplayer 创建一个可以在 Windows 中工作的 guifrontend。
谢谢
编辑:我所说的 mplayer 是指 mplayer (linux 版本),而不是 WIndows 媒体播放器。
I am pretty dissatisfied with all the available media players, and I was also looking for a major project to really get into programming. so I am thinking of writing my own media player . Or to be more accurate a gui-frontend for mplayer (something similar to smplayer). How hard would this be.? I have plenty of time (months), and am willing to learn anything.
I practically don't have any knowledge of any windows/gui libraries . My programming experience : tried lots of different languages, wrote a couple of websites in php, lots of practice in java (although did nothing major) . Thats all
Can someone provide some guidance, about where to get started. what all to read. Which language should be used. is C#/.net a good language for this? since I am no expert in any language and have dabbled in plenty of different languages , I think I can pick up any language. Though My main concern is my lack of any practical knowledge . So guide me please.
Lastly my preference is windows (haha whatever), so thats what my target is and thats where I'll doing my coding.
To sum it up I want to create a guifrontend for mplayer that would work in windows.
Thanks
Edit: by mplayer I mean mplayer (the linux one) , and not WIndows media player.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
一个好的起点可以是查看 gmplayer 的代码如何工作 - gmplayer 是 Linux 上 mplayer 的图形前端。可能您真正需要做的就是将 gmplayer 代码移植到 Windows,然后您将获得完全集成的 GUI 而不仅仅是前端。
另外,功能请求:一个漂亮友好的 UI,用于将视频/音频效果放在输出流上(在 CLI 版本中很难使用,大多数 mplayer 用户可能甚至不知道它在那里)。
One good place to start could be looking at how the code for gmplayer works - gmplayer is the graphic frontend for mplayer on Linux. It could be that all you really need to do is port the gmplayer code to Windows, then you get a fully integrated GUI instead of just a frontend.
Also, feature request: a nice friendly UI for putting video / audio effects on the output stream (it is so hard to use in the CLI version that most mplayer users probably don't even know it is in there).
我知道我要推荐的不是你想要的,但是:
我会为 VLC 创建一个前端,它使用 Qt,一个非常有用且易于启动的 GUI 框架,在C++。
从我作为用户的经验来看,VLC 也更稳定,功能更多。
I know what I'm going to recommend you is not what you're looking for, BUT:
I'd create a front-end for VLC, which uses Qt, a GUI framework which is extremely usable and easy to start with, in C++.
From my experience as an user, VLC is also more stable and has more features.
首先复制一个工作实现。正如您所提到的,SMPlayer 是您想要的一个工作示例。我建议首先对其进行修改以使其更好地工作(播放列表确实需要更直观的控制,并且上次我尝试时 Windows 中的多显示器支持不存在)或尝试用您选择的语言复制它。
对现有项目进行黑客攻击的好处包括:现有的代码库可以工作,进行显着更改所需的工作量要小得多,并且现有的开发人员能够帮助您加快内部结构的速度。此外,学习项目的语言 (C++) 会很有用,但如果用您最喜欢的语言复制其功能更有趣,则可能不值得付出努力。
Start by copying a working implementation. As you mentioned, SMPlayer exists as a working example of what you want. I'd recommend starting by either hacking it to work better (the playlist really needs more intuitive controls, and multiple monitor support in Windows was nonexistent last time I tried it) or trying to duplicate it in your language of choice.
The benefits of hacking on an existing probject include: the existing codebase works, the margin of work required to make a noticeable change is much smaller, and the existing developers are able to help you come to speed with internals. Also, learning the project's language (C++) would be useful, though it may not be worth the effort if it's more interesting to copy its features in your favorite language.
C# 非常适合快速创建任何桌面 GUI。开始 GUI 设计的最佳方法是使用 Visual Studio 中提供的拖/放组件。对于该功能,您可以使用以下内容: http:// msdn.microsoft.com/en-us/library/dd564585%28VS.85%29.aspx。
C# is great for creating any desktop gui quickly. Best way to start with the gui design is to play a bit with the drag/drop components available in visual studio. For the functionality you can use this: http://msdn.microsoft.com/en-us/library/dd564585%28VS.85%29.aspx .