• 19344阅读
  • 15回复

网络电台服务器 phonon+portAudio [复制链接]

上一主题 下一主题
 
只看楼主 倒序阅读 楼主  发表于: 2009-02-26
— 本帖被 XChinux 从 General Qt Programming 移动到本区(2009-03-25) —
Nrc Radio:
播放广播一体化网络电台服务器。
版本:
  • v0.4(2009.3.1)
软件截图:

Web界面截图:

特性:
  • 内置媒体播放器,基于mplayer支持多种音频格式
  • 可通过浏览器上传歌曲自动添加至播放列表实现点歌,通过浏览器可实时获得播放列表(基于简单的AJAX)
  • Web界面可自行编辑,我Html烂,只能做到实现功能而已
  • 原生支持IPv6
  • 支持大多数音频软件收听(已测试的有wmp、vlc、kmplayer、mplayer、foobar,谁叫我做的时候基于http+mp3呢~)
  • 支持Icy-Meta,可自动向收听者发送媒体状态,更新收听软件的标题
  • 音量自动调节防爆音
开发语言及使用的库:
  • 基于Qt
  • 以Qt自带的phonon做媒体控制
    • phonon的mplayer插件改写自phonon-vlc-mplayer,删除了部分功能使之支持Qt自带版本的phonon(删除了声道控制和字幕控制,但对我足够,且方便移植)
  • portAudio做音频采集
  • lame做mp3编码
  • 所有库均为开源跨平台库,所以,有兴趣的可以去做移植^-^
协议:
下载:
发布页:
http://c-home.appspot.com/nrcradio
[ 此帖被都市无名者在2009-03-04 09:06重新编辑 ]
离线healgod
只看该作者 1楼 发表于: 2009-02-26
haha哈哈哈
离线caomoqr
只看该作者 2楼 发表于: 2009-02-26
恩,顶一下楼主先,
请问有源码吗?
邮箱:yinuyesha1220@yahoo.com.cn
能麻烦发给我吗?谢谢!!
我们现在在公司实习,公司给安排了任务就是熟悉PHONON,我现在在学,在代码方面也是新入门,就像没头苍蝇一样,好像楼主很精通PHONON,希望指点一下,谢谢~
[ 此帖被caomoqr在2009-02-26 17:13重新编辑 ]
离线caomoqr
只看该作者 3楼 发表于: 2009-02-26
饿,刚才看到楼主把源码发上来了,下下来编译了一下不成功,折腾了半天也不是很明白是什么原因,我在网上查了很久,看到楼主的帖子,说MinGW不能编译WINDOWS下的Directshow,不知道和这个有没有关系呢,可是楼主这个东东不是用MPlayer做后端的么
迷糊ing
只看该作者 4楼 发表于: 2009-02-26
ls的你库全了没……我这个是portaudio+qt+lame+phonon,缺一个都不行哟
离线caomoqr
只看该作者 5楼 发表于: 2009-02-27
partaudio在LINUX下可以装吗?
只看该作者 6楼 发表于: 2009-02-27
搜索一下不就都知道了……什么问题都上论坛。效率低不……
只看该作者 7楼 发表于: 2009-03-01
更新版本和介绍了
离线thinke365

只看该作者 8楼 发表于: 2009-03-01
编译不了啊,有详细一些的操作说明吗、、、
离线thinke365

只看该作者 9楼 发表于: 2009-03-01
郁闷
只看该作者 10楼 发表于: 2009-03-01
引用第8楼thinke365于2009-03-01 23:21发表的  :
编译不了啊,有详细一些的操作说明吗、、、

你所有库都齐全了么?只要库齐全,就是vc也能编译,也不用mplayer

我用mplayer做后端只是因为qt提供的windows平台的phonon后端只有dx,而mingw又没有办法编译dx后端的
后端换哪个都可以的

当然……dx后端也问题多多,碰到过dx读id3v2出错的情况

先把依赖关系理顺吧,我用了什么库可是都写上了
[ 此帖被都市无名者在2009-03-02 13:41重新编辑 ]
离线266lwf
只看该作者 11楼 发表于: 2009-03-24
求助!链接错误!

1>------ Build started: Project: NrcRadio, Configuration: Debug Win32 ------
1>Linking...
1>LIBCMT.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(tidtable.obj) : error LNK2005: __encode_pointer already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(tidtable.obj) : error LNK2005: __decode_pointer already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __amsg_exit already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __initterm_e already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: _exit already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __exit already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0dat.obj) : error LNK2005: __cexit already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(mlock.obj) : error LNK2005: __unlock already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(mlock.obj) : error LNK2005: __lock already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(setlocal.obj) : error LNK2005: __configthreadlocale already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_a already defined in MSVCRTD.lib(cinitexe.obj)
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xi_z already defined in MSVCRTD.lib(cinitexe.obj)
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_a already defined in MSVCRTD.lib(cinitexe.obj)
1>LIBCMT.lib(crt0init.obj) : error LNK2005: ___xc_z already defined in MSVCRTD.lib(cinitexe.obj)
1>LIBCMT.lib(hooks.obj) : error LNK2005: "void __cdecl terminate(void)" (?terminate@@YAXXZ) already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(errmode.obj) : error LNK2005: ___set_app_type already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(atox.obj) : error LNK2005: _atoi already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(tolower.obj) : error LNK2005: _tolower already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LIBCMT.lib(strtol.obj) : error LNK2005: _strtol already defined in MSVCRTD.lib(MSVCR90D.dll)
1>LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: char const * __thiscall portaudio::PaException::paErrorText(void)const " (?paErrorText@PaException@portaudio@@QBEPBDXZ) referenced in function __catch$??0Broadcaster@@QAE@PAVQObject@@@Z$0
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: void __thiscall portaudio::Stream::start(void)" (?start@Stream@portaudio@@QAEXXZ) referenced in function "public: __thiscall Broadcaster::Broadcaster(class QObject *)" (??0Broadcaster@@QAE@PAVQObject@@@Z)
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: __thiscall portaudio::BlockingStream::BlockingStream(class portaudio::StreamParameters const &)" (??0BlockingStream@portaudio@@QAE@ABVStreamParameters@1@@Z) referenced in function "public: __thiscall Broadcaster::Broadcaster(class QObject *)" (??0Broadcaster@@QAE@PAVQObject@@@Z)
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: __thiscall portaudio::StreamParameters::StreamParameters(class portaudio::DirectionSpecificStreamParameters const &,class portaudio::DirectionSpecificStreamParameters const &,double,unsigned long,unsigned long)" (??0StreamParameters@portaudio@@QAE@ABVDirectionSpecificStreamParameters@1@0NKK@Z) referenced in function "public: __thiscall Broadcaster::Broadcaster(class QObject *)" (??0Broadcaster@@QAE@PAVQObject@@@Z)
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: static class portaudio::DirectionSpecificStreamParameters __cdecl portaudio::DirectionSpecificStreamParameters::null(void)" (?null@DirectionSpecificStreamParameters@portaudio@@SA?AV12@XZ) referenced in function "public: __thiscall Broadcaster::Broadcaster(class QObject *)" (??0Broadcaster@@QAE@PAVQObject@@@Z)
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: __thiscall portaudio::DirectionSpecificStreamParameters::DirectionSpecificStreamParameters(class portaudio::Device const &,int,enum portaudio::SampleDataFormat,bool,double,void *)" (??0DirectionSpecificStreamParameters@portaudio@@QAE@ABVDevice@1@HW4SampleDataFormat@1@_NNPAX@Z) referenced in function "public: __thiscall Broadcaster::Broadcaster(class QObject *)" (??0Broadcaster@@QAE@PAVQObject@@@Z)
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: double __thiscall portaudio::Device::defaultLowOutputLatency(void)const " (?defaultLowOutputLatency@Device@portaudio@@QBENXZ) referenced in function "public: __thiscall Broadcaster::Broadcaster(class QObject *)" (??0Broadcaster@@QAE@PAVQObject@@@Z)
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: class portaudio::Device & __thiscall portaudio::System::defaultInputDevice(void)" (?defaultInputDevice@System@portaudio@@QAEAAVDevice@2@XZ) referenced in function "public: __thiscall Broadcaster::Broadcaster(class QObject *)" (??0Broadcaster@@QAE@PAVQObject@@@Z)
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: static class portaudio::System & __cdecl portaudio::System::instance(void)" (?instance@System@portaudio@@SAAAV12@XZ) referenced in function "public: __thiscall Broadcaster::Broadcaster(class QObject *)" (??0Broadcaster@@QAE@PAVQObject@@@Z)
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: static void __cdecl portaudio::System::initialize(void)" (?initialize@System@portaudio@@SAXXZ) referenced in function "public: __thiscall portaudio::AutoSystem::AutoSystem(bool)" (??0AutoSystem@portaudio@@QAE@_N@Z)
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: static void __cdecl portaudio::System::terminate(void)" (?terminate@System@portaudio@@SAXXZ) referenced in function "public: virtual __thiscall Broadcaster::~Broadcaster(void)" (??1Broadcaster@@UAE@XZ)
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: void __thiscall portaudio::Stream::stop(void)" (?stop@Stream@portaudio@@QAEXXZ) referenced in function "public: virtual __thiscall Broadcaster::~Broadcaster(void)" (??1Broadcaster@@UAE@XZ)
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: static bool __cdecl portaudio::System::exists(void)" (?exists@System@portaudio@@SA_NXZ) referenced in function "public: __thiscall portaudio::AutoSystem::~AutoSystem(void)" (??1AutoSystem@portaudio@@QAE@XZ)
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: void __thiscall portaudio::BlockingStream::read(void *,unsigned long)" (?read@BlockingStream@portaudio@@QAEXPAXK@Z) referenced in function "private: void __thiscall Broadcaster::broadcast(void)" (?broadcast@Broadcaster@@AAEXXZ)
1>broadcaster.obj : error LNK2019: unresolved external symbol "public: long __thiscall portaudio::BlockingStream::availableReadSize(void)const " (?availableReadSize@BlockingStream@portaudio@@QBEJXZ) referenced in function "private: void __thiscall Broadcaster::broadcast(void)" (?broadcast@Broadcaster@@AAEXXZ)
1>libmp3lame_vc8.lib(mpglib_interface.obj) : error LNK2019: unresolved external symbol _ExitMP3 referenced in function _lame_decode_exit
1>libmp3lame_vc8.lib(mpglib_interface.obj) : error LNK2019: unresolved external symbol _InitMP3 referenced in function _lame_decode_init
1>libmp3lame_vc8.lib(mpglib_interface.obj) : error LNK2019: unresolved external symbol _decodeMP3 referenced in function _lame_decode1_headersB
1>libmp3lame_vc8.lib(mpglib_interface.obj) : error LNK2001: unresolved external symbol _tabsel_123
1>libmp3lame_vc8.lib(mpglib_interface.obj) : error LNK2001: unresolved external symbol _freqs
1>libmp3lame_vc8.lib(mpglib_interface.obj) : error LNK2019: unresolved external symbol _decodeMP3_unclipped referenced in function _lame_decode1_unclipped
1>debug\NrcRadio.exe : fatal error LNK1120: 21 unresolved externals
1>Build log was saved at "file://d:\download\NrcRadio.0.4.src\debug\BuildLog.htm"
1>NrcRadio - 43 error(s), 2 warning(s)
离线haiqian
只看该作者 12楼 发表于: 2009-06-14
最近也在了解portaudio的用法,可以发给我源码吗?
谢谢啦hai_qian@qq.com
离线jiapei100
只看该作者 13楼 发表于: 2009-10-03
怎么联系到楼主?
我已经在windowsXP下重新编译你的NrcRadio,可以运行!
开启服务器之后,点添加文件,可惜,没有反应!貌似上传一个声音文件
1)需要很长时间
2)服务器在哪里啊?是自己本地机器么?这个我刚刚搞定几分钟,没仔细看
3)Add Files添加之后,并未在列表中自动显示!我在想,是不是因为服务器没有连接上导致?

请楼主务必尽快回复,谢谢!!

Best Regards
JIA Pei
Welcome to Vision Open
http://www.visionopen.com
离线neil-wen

只看该作者 14楼 发表于: 2013-08-18
不错  125741979@qq.com
离线baby2323

只看该作者 15楼 发表于: 2016-07-29
下载下来看看
快速回复
限100 字节
 
上一个 下一个