有没有复读机功能的软件

仅仅用于软件推荐,不适合发求软件或软件使用问题方面的贴子
头像
David50814
帖子: 556
注册时间: 2007-06-11 4:20
来自: 北京
联系:

有没有复读机功能的软件

#1

帖子 David50814 » 2007-09-26 12:26

最近在看英文版圣经锻炼英语和听圣经的英语语音(非美语)
想反复的联系一句话(你知道,他们语速很快的)
但没有那样的软件,请问谁知道有这样的软件吗?
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

#2

帖子 eexpress » 2007-09-26 12:32

audacity,拖一段出来,反复听?
● 鸣学
头像
David50814
帖子: 556
注册时间: 2007-06-11 4:20
来自: 北京
联系:

#3

帖子 David50814 » 2007-09-27 0:19

是阿是阿
tomguy
帖子: 702
注册时间: 2005-09-27 10:32

#4

帖子 tomguy » 2007-09-30 23:06

他说的这种软件是windows下的sitman。

linux中还不知道有这种东西。
头像
aitilang
帖子: 1026
注册时间: 2007-04-28 21:38

#5

帖子 aitilang » 2007-09-30 23:50

tomguy 写了:他说的这种软件是windows下的sitman。

linux中还不知道有这种东西。
sitman是用vb做的。。。。
不知道能不能wine
thinkpad x61 2G DDR no cdrom
--------------------------------------------
ABS学习中
sed学习中
awk学习中
perl学习中
新手描述不清,老手猜测不到,胡乱指挥一通,后果难以预料
头像
stlxv
论坛版主
帖子: 8275
注册时间: 2006-05-03 0:39
来自: المريخ

Re: 有没有复读机功能的软件

#6

帖子 stlxv » 2007-10-01 0:20

David50814 写了:最近在看英文版圣经锻炼英语和听圣经的英语语音(非美语)
想反复的联系一句话(你知道,他们语速很快的)
但没有那样的软件,请问谁知道有这样的软件吗?
古兰经学习软件就见过,那个ubuntu穆斯林版就有自带了
PHP是最好的语言!不服来战!
foolgg
帖子: 3
注册时间: 2008-05-26 21:24

#7

帖子 foolgg » 2008-05-26 21:46

修改了mplayer-1.0~rc1,增加了一些代码来支持类似sitman的功能。
F9:插入分段点
F10:播放当前段
F11:播放前一段
F12:播放下一段

附件是我修改并编译过的mplayer以及修改的patch。
附件不能贴上来,奇怪,直接贴代码了。

From d9851731c35256edae502c1b5628fd501e63744d Mon Sep 17 00:00:00 2001
From: mwwang <mwwang@debian.xxx>
Date: Mon, 26 May 2008 21:44:56 +0800
Subject: [PATCH] standman base on mplayer


Signed-off-by: mwwang <mwwang@debian.xxx>
---
input/input.c | 10 +++++++
input/input.h | 4 +++
mplayer.c | 76 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 90 insertions(+), 0 deletions(-)

diff --git a/input/input.c b/input/input.c
index f2b5a83..5a79676 100644
--- a/input/input.c
+++ b/input/input.c
@@ -168,6 +168,11 @@ static mp_cmd_t mp_cmds[] = {
{ MP_CMD_SEEK_CHAPTER, "seek_chapter", 1, { {MP_CMD_ARG_INT,{0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },
{ MP_CMD_SET_MOUSE_POS, "set_mouse_pos", 2, { {MP_CMD_ARG_INT,{0}}, {MP_CMD_ARG_INT,{0}}, {-1,{0}} } },

+ { MP_CMD_ADD, "standman_add", 0, { {-1,{0}} } },
+ { MP_CMD_CURR, "standman_curr", 0, { {-1,{0}} } },
+ { MP_CMD_PREV, "standman_prev", 0, { {-1,{0}} } },
+ { MP_CMD_NEXT, "standman_next", 0, { {-1,{0}} } },
+
{ 0, NULL, 0, {} }
};

@@ -421,6 +426,11 @@ static mp_cmd_bind_t def_cmd_binds[] = {
{ { '!', 0 }, "seek_chapter -1" },
{ { '@', 0 }, "seek_chapter 1" },

+ { { KEY_F+9, 0 }, "standman_add" },
+ { { KEY_F+10, 0 }, "standman_curr" },
+ { { KEY_F+11, 0 }, "standman_prev" },
+ { { KEY_F+12, 0 }, "standman_next" },
+
{ { 0 }, NULL }
};

diff --git a/input/input.h b/input/input.h
index f220a08..922f006 100644
--- a/input/input.h
+++ b/input/input.h
@@ -90,6 +90,10 @@
#define MP_CMD_RADIO_SET_CHANNEL 88
#define MP_CMD_RADIO_SET_FREQ 89
#define MP_CMD_SET_MOUSE_POS 90
+#define MP_CMD_ADD 91
+#define MP_CMD_CURR 92
+#define MP_CMD_PREV 93
+#define MP_CMD_NEXT 94

#define MP_CMD_GUI_EVENTS 5000
#define MP_CMD_GUI_LOADFILE 5001
diff --git a/mplayer.c b/mplayer.c
index acdfab9..0d9651e 100644
--- a/mplayer.c
+++ b/mplayer.c
@@ -433,6 +433,16 @@ static unsigned int inited_flags=0;

#define mp_basename2(s) (strrchr(s,'/')==NULL?(char*)s:(strrchr(s,'/')+1))

+struct thread_list{
+ float point_time;
+ float start_time;
+ struct thread_list *prev;
+ struct thread_list *next;
+};
+
+static struct thread_list *p_head;
+static struct thread_list *p_list;
+
static int is_valid_metadata_type (metadata_t type) {
switch (type)
{
@@ -2821,6 +2831,20 @@ int gui_no_filename=0;

struct {double pts; vo_functions_t *vo;} vf_vo_data;

+ p_head = (struct thread_list *)malloc(sizeof(struct thread_list));
+ if (p_head == NULL) {
+ printf("malloc error.\n");
+ exit(-1);
+ }
+ memset(p_head, 0, sizeof(struct thread_list));
+
+ p_head->next = p_head;
+ p_head->prev = p_head;
+ p_head->point_time = 0.0;
+ p_head->start_time = 0.0;
+
+ p_list = p_head;
+
srand((int) time(NULL));

InitTimer();
@@ -4117,6 +4141,11 @@ if(!sh_video) {
if(!quiet || end_at.type == END_AT_TIME )
a_pos = playing_audio_pts(sh_audio, d_audio, audio_out);

+ if (p_list->next->point_time != 0 && a_pos > p_list->next->point_time) {
+ abs_seek_pos = 1;
+ rel_seek_secs = p_list->start_time;
+ }
+
if(!quiet)
print_status(a_pos, 0, 0);

@@ -5237,6 +5266,53 @@ if(step_sec>0) {
break;
}
#endif
+ case MP_CMD_ADD: {
+ struct thread_list *p_new, *p_temp;
+
+ p_new = (struct thread_list *)malloc(sizeof(struct thread_list));
+ if (p_new == NULL) {
+ printf("malloc error.\n");
+ exit(-1);
+ }
+ memset(p_new, 0, sizeof(struct thread_list));
+
+ if(sh_video)
+ p_new->point_time = sh_video->pts;
+ else {
+ if(!quiet || end_at.type == END_AT_TIME )
+ p_new->point_time = playing_audio_pts(sh_audio, d_audio, audio_out);
+ }
+ p_new->start_time = p_new->point_time;
+ p_new->start_time -= (p_new->start_time > 1)? 0.7 : 0;
+ printf("add during time: %f ~ %f |\n\n", p_list->start_time, p_new->point_time);
+
+ p_temp = p_head->prev;
+ while(p_new->point_time < p_temp->point_time){
+ p_temp = p_temp->prev;
+ }
+ p_new->next = p_temp->next;
+ p_temp->next->prev = p_new;
+ p_new->prev = p_temp;
+ p_temp->next = p_new;
+ } break;
+ case MP_CMD_CURR: {
+ abs_seek_pos = 1;
+ rel_seek_secs = p_list->start_time;
+ printf("point time: %f\n\n", p_list->point_time);
+ printf("during time: %f ~ %f |\n\n", p_list->start_time, p_list->next->point_time);
+ } break;
+ case MP_CMD_PREV: {
+ p_list = p_list->prev;
+ abs_seek_pos = 1;
+ rel_seek_secs = p_list->start_time;
+ printf("during time: %f ~ %f |\n\n", p_list->start_time, p_list->next->point_time);
+ } break;
+ case MP_CMD_NEXT: {
+ p_list = p_list->next;
+ abs_seek_pos = 1;
+ rel_seek_secs = p_list->start_time;
+ printf("during time: %f ~ %f |\n\n", p_list->start_time, p_list->next->point_time);
+ } break;
default : {
#ifdef HAVE_NEW_GUI
if ( ( use_gui )&&( cmd->id > MP_CMD_GUI_EVENTS ) ) guiGetEvent( guiIEvent,(char *)cmd->id );
--
1.5.5.1
头像
BigSnake.NET
帖子: 12522
注册时间: 2006-07-02 11:16
来自: 廣州
联系:

#8

帖子 BigSnake.NET » 2008-05-26 21:47

audacious 有复读机插件
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。
foolgg
帖子: 3
注册时间: 2008-05-26 21:24

#9

帖子 foolgg » 2008-05-26 21:49

哦,哪里可以下载?
头像
hyxuzhimin
帖子: 249
注册时间: 2008-05-09 14:14

#10

帖子 hyxuzhimin » 2008-05-27 11:32

我想知道楼主的圣经英文有声版在哪儿下载的?
头像
xiooli
帖子: 6956
注册时间: 2007-11-19 21:51
来自: 成都
联系:

#11

帖子 xiooli » 2008-05-27 12:34

”圣经“啊?听拉丁文原文吧 :D
foolgg
帖子: 3
注册时间: 2008-05-26 21:24

#12

帖子 foolgg » 2008-05-29 13:37

我想知道audacious的复读机插件在哪里下载啊,BigSnake.NET,你不能这样吊胃口啊。 :shock:
bian222
帖子: 78
注册时间: 2006-05-18 21:13

#13

帖子 bian222 » 2008-06-08 21:11

装了audacious后在程序界面上右击就看到playback菜单,子菜单下有个 set a-b的。
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#14

帖子 syrano » 2008-06-09 12:03

xiooli 写了:”圣经“啊?听拉丁文原文吧 :D
新约部分就听希腊语原文,旧约部分就听希伯来语原文吧 :lol:
头像
syrano
帖子: 4313
注册时间: 2007-10-06 18:40

#15

帖子 syrano » 2008-06-09 12:03

hyxuzhimin 写了:我想知道楼主的圣经英文有声版在哪儿下载的?
同问
回复