小编Ans*_*gar的帖子

我应该使用哪种协议来传输音频(不是直播)?

我正在尝试编写一个Python服务器,从头到尾流式传输一个请求的mp3文件.(没有直播)
我希望能够使用任何媒体播放器(如VLC)播放该流,并能够改变播放位置.

我听说过很多关于HTTP Streaming的内容,但在阅读了一些维基百科文章之后,在我看来,"HTTP Streaming"只是不同流媒体协议(如RTSP/RTCP/RTP)的总称.

然后我遇到了SHOUTcast,这是一个使用自己的协议的流媒体的专有软件(服务器!).另一个似乎提供类似功能的现有服务器程序是Icecast.
我不太确定SHOUTcast和Icecast之间的关系,但似乎有一个.

我认为流式传输一个特定的媒体文件与流式传输连续流如网络广播不同,所以我搜索了第一个webradio并下载了.pls或.m3u文件.
两者基本上都是包含网址的文本文件.所以我开始使用wireshark并将VLC指向该URL.
我看到的主要是HTTP流量:

VLC:

GET /schizoid HTTP/1.1
Run Code Online (Sandbox Code Playgroud)

VLC:

Host: <ip>:8000
User-Agent: VLC/2.0.5 LibVLC/2.0.5
Range: bytes=0-
Connection: close
Icy-MetaData: 1
Run Code Online (Sandbox Code Playgroud)

服务器响应:

HTTP/1.0 200 OK
Content-Type: audio/mpeg
icy-br:128
ice-audio-info: bitrate=128
icy-br:128
icy-description:PsyTrance 24x7
icy-genre:psytrance
icy-name:Radio Schizoid
icy-pub:1
icy-url:http://schizoid.in:8000/schizoid
Server: Icecast 2.3.2
Cache-Control: no-cache
icy-metaint:16000
Run Code Online (Sandbox Code Playgroud)

然后服务器开始发送原始数据,这似乎是mp3流.

根据维基百科,这是SHOUTcast协议.
(我不确定这是否与Icecast使用的协议相同)

但我认为一个封闭的(未记录的)协议不可能成为流媒体的标准.
所以我的问题是将流媒体(特定的mp3文件)集成到python服务器中的最佳(最简单和最好的支持)方式是什么?
我是否必须手动实施SHOUTcast协议,或者像RTP一样的方式?
(我不介意使用第三方库)

python streaming http audio-streaming

6
推荐指数
1
解决办法
3069
查看次数

Python GTK:带有可点击图像的可滚动网格

我正在编写一个 python 程序(gtk 中的 gui)(顺便说一句,linux。)我想要一个(可滚动)图像网格,可以像按钮一样单击。

我计划每行有 3 个图像,显示 2 行,然后垂直滚动其余部分。

我真的不知道要使用哪些元素,Gtk.Grid、Gtk.table 还是其他元素?我应该使用图像并使其可点击,还是应该使用 Gtk.Button 并使其看起来像图像?

非常感谢任何帮助:)

python gtk

5
推荐指数
1
解决办法
1448
查看次数

查询 XSettings Manager 的图标主题

我正在用 Vala(ac 兼容语言)编写一个应用程序,我需要当前设置的图标主题。
我想避免 GTK+ 或 Qt 作为依赖项。

我知道 GTK+ 3 有一个settings.ini,GTK+ 2 有一个.gtkrc-2.0文件,但根据此,这些文件只是在没有运行 XSettings Manager 的情况下的后备文件。

我试图找到一些有关 XSettings Manager 的信息,似乎XSettings 只是一个由桌面环境实现的规范。最流行的实现可能是 Gnomes gnome-settings-daemon,但还有其他实现,例如LXDE 中的lxsettings-daemon(集成在lxsession中)或 XFCE 的xfsettingsd

现在我需要了解如何在 XSettings Manager 中查询Net/IconThemeName键的值。

我找到了这个规范,但不太明白。(我以前从未使用过 Xlib)
这是我需要的吗?


需要明确的是:我不想实现 XSettings Manager 规范,但我想查询当前运行的实现以获取当前设置的图标主题。

有人可以帮我理解规范吗?这对我来说似乎相当令人困惑。

或者我做的是完全错误的?

c x11 xlib vala freedesktop.org

5
推荐指数
1
解决办法
801
查看次数

主题Android ActionBar:更改TabBar背景

我按照本指南来设置ActionBar的样式.我在我的应用程序中使用固定标签,所以我也想要标签.
(注意:我正在使用appcompat主题来确保一些向后兼容性)

所以我用过

<style
    name="CustomTheme"
    parent="@style/Theme.AppCompat.Light" >

    <item name="android:actionBarStyle">@style/CustomActionBar</item>
    <item name="actionBarStyle">@style/CustomActionBar</item>

    <item name="android:actionBarTabStyle">@style/CustomActionBarTabs</item>
    <item name="actionBarTabStyle">@style/CustomActionBarTabs</item>
</style>
Run Code Online (Sandbox Code Playgroud)

作为我的主题.

我没有问题地设置ActionBar背景,但后来我尝试使用以下标签来标记:

<style
    name="CustomActionBarTabs"
    parent="@style/Widget.AppCompat.ActionBar.TabView" >

    <item name="android:background">@drawable/customtheme_actionbar_tab_indicator</item>
    <item name="background">@drawable/customtheme_actionbar_tab_indicator</item>
</style>
Run Code Online (Sandbox Code Playgroud)

背景指向一个StateList,我为不同的上下文设置了不同的drawable,它按预期工作.除了它的工作只是为标签.不适用于ActionBar.

标签栏的分隔符和背景不是主题.
我怎么能主题那些?(灰色部分)

示例图片

主题创作指南

我想知道是否有任何指导方针可以创建一个看起来不错的主题?
(好=类似于默认主题,所以应用程序适合Android生态系统)

默认主题图片

因为如果仔细查看默认主题,可以在ActionBar drawable底部看到一个小行.(在我的主题中是浅绿色的部分)
在创建看起来类似于默认主题的主题时,您可能应该考虑其他事项,因此对某些指南会很好.

另外:TabBar应该总是比ActionBar更暗吗?
(如果是这样,有多深?)

图像颜色(如图像中溢出按钮的颜色)应该比ActionBar颜色更亮/更暗?

在此先感谢,
Uriel

android android-theme android-actionbar android-tabs android-actionbar-compat

2
推荐指数
1
解决办法
6829
查看次数