|
楼主 |
发表于 2004-8-8 01:29:45
|
显示全部楼层
播放rm总是停顿这情况我没遇到过,不好说呀!
至于这插件嘛,不用启动,配置好就可以用了!
值得说的倒是播放列表的事!
以前的realone对播放列表的支持比现在的real10要好点!对中文的支持两者差不多,
都马马虎虎!
realone和real10都支持*.m3u和*.pls文件,只是在路径上有点区别!
realone需要绝对路径,而real10只需要文件名,但real10对中文路径支持的不好,如果
文件的绝对路径含有中文字符,对该文件的播放将失败!(可能和GTK2的UTF-8编码有关)
举个例子吧:
假若在路径/home/aaa/tmp/下有四个real文件要播放a1.rmvb,a2.rmvb,a3.rmvb,a4.rmvb!
对realone,需要创建一个以.m3u或.pls为后缀的文件我暂时叫它play-list.m3u
之后在文件中输入欲播放的文件的绝对路径!文件内容如下:
/home/aaa/tmp/a1.rmvb
/home/aaa/tmp/a2.rmvb
/home/aaa/tmp/a3.rmvb
/home/aaa/tmp/a4.rmvb
之后保存即可,然后用realone打开该文件,realone就会按顺序播放了!
对real10,也要创建一个以.m3u或.pls的文件,不同的是只需输入文件名即可!
我们创建一个名为play-list.pls的播放列表文件,文件内容如下:
a1.rmvb
a2.rmvb
a3.rmvb
a4.rmvb
之后保存,然后用real10打开,real10就会按顺序播放了.不过real10的响应这时会变的
特别的慢,这可能是real10的一个bug!但我并不敢确定.
一个一个的打文件名会很麻烦,即便文件很少也是件很无聊的事,所以我写了个小程序,
用于搜索指定路径下的所有的real文件的,程序很简单但至少可以工作!
这个程序是为realone生成播放列表文件的,若想生成real10的播放列表文件,只需要
更改一点代码就可以了!
make-play-list-for-realone.c程序源代码如下:
#include <stdio.h>
#include <dirent.h>
#include <string.h>
#include <unistd.h>
#include <errno.h>
int is_or_non_real_format(char *selected_file)
{
char *rm,*ram,*rmvb;
if(((rm = strstr(selected_file,".rm")) != NULL) || ((ram = strstr(selected_file,".ram")) != NULL) || ((rmvb = strstr(selected_file,".rmvb")) != NULL))
return(1);
else
return(0);
}
int main(int argc,char *argv[])
{
char full_path[NAME_MAX];
DIR *dp;
struct dirent *dir;
FILE *file_fp;
if(argc < 2) {
perror("./make-play-list [path]\n");
exit(1);
}
if((dp = opendir(argv[1])) == NULL) {
perror("The dir can not open.\n");
exit(2);
}
file_fp = fopen("play-list.m3u","w");
while((dir = readdir(dp)) != NULL) {
if(is_or_non_real_format(dir -> d_name)) {
sprintf(full_path,"%s%s\n",argv[1],dir -> d_name);
fputs(full_path,file_fp);
}
}
fclose(file_fp);
exit(0);
}
用下面的命令编译:
gcc -Wall -g make-play-list-for-realone.c -o make-play-list-for-realone
之后执行./make-play-list-for-realone /home/aaa/tmp/ <---这里是你要播放文件的绝对路径!
就会在当前目录下生成一个名为play-list.m3u的文件了! |
|