小编Igi*_*gid的帖子

音频文件在线时如何在HTML5音频对象中设置currentTime?

我有一个带有前进/后退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

7
推荐指数
2
解决办法
477
查看次数

为什么在这个 K&R 示例中函数传递指针是有效的?

我正在通过阅读K&R(ANSI 版)学习 C ,并辅以21st Century C。我想说我已经对指针的大部分基础知识非常有信心了。这意味着我知道您必须非常小心地将指针传递出函数,而该函数既没有首先传递给函数,也没有被malloc编辑。所以这个例子让我难住了。它来自 \xc2\xa75.6,第 109 页:

\n\n
#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)

c pointers kernighan-and-ritchie

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