我有一个带有前进/后退10第二个按钮的JavaScript音频播放器.我通过设置currentTime我的音频元素来做到这一点:
function Player(skipTime)
{
this.skipTime = skipTime;
this.waitLoad = false;
// initialise main narration audio
this.narration = new Audio(getFileName(dynamicNarration));
this.narration.preload = "auto";
this.narration.addEventListener('canplaythrough', () => { this.loaded(); });
this.narration.addEventListener('timeupdate', () => { this.seek(); });
this.narration.addEventListener('ended', () => { this.ended(); });
this.narration.addEventListener('waiting', () => { this.audioWaiting(); });
this.narration.addEventListener('playing', () => { this.loaded(); });
}
Player.prototype = {
rew: function rew()
{
if (!this.waitLoad) {
this.skip(-this.skipTime);
}
},
ffw: function ffw()
{
if (!this.waitLoad) {
this.skip(this.skipTime);
}
}, …Run Code Online (Sandbox Code Playgroud) javascript event-handling audio-player dom-events html5-audio
我正在通过阅读K&R(ANSI 版)学习 C ,并辅以21st Century C。我想说我已经对指针的大部分基础知识非常有信心了。这意味着我知道您必须非常小心地将指针传递出函数,而该函数既没有首先传递给函数,也没有被malloc编辑。所以这个例子让我难住了。它来自 \xc2\xa75.6,第 109 页:
#define MAXLEN 1000 /* max length of any input line */\nint getline(char *, int);\nchar *alloc(int);\n\n/* readlines: readinputlines */\nint readlines(char *lineptr[], int maxlines)\n{\n int len, nlines;\n char *p, line[MAXLEN];\n\n nlines = 0;\n while ((len = getline(line, MAXLEN)) > 0)\n if (nlines >= maxlines || (p = alloc(len)) == NULL)\n return -1;\n else {\n line[len-1]=\'\\0\'; /* delete newline */\n strcpy(p, line);\n lineptr[nlines++] = p;\n }\n return nlines;\n}\n …Run Code Online (Sandbox Code Playgroud)