查找类似于网络音频API的Android库

时间:2018-07-10 05:48:40

标签: android audio-streaming

我有一个html / javascript项目,可播放流式视频,使用网络音频API将视频的声音分离到多个通道(左右音量,仅人声,仅吉他声等),并允许更改或静音每个。现在,我想知道是否有可能在android系统中使用,因为我以前从未使用过android系统,那么它有没有可以执行相同操作的库?

除此之外,我还想知道如何将该视频分割为4个角度,并像4个小视频一样显示。在javascript中,我正在使用canvas&setInterval,如:

setInterval(function () {
        Object.keys(Angles).forEach(function (angle_id) {
            var top = Angles[angle_id]['position'][0];
            var left = Angles[angle_id]['position'][1];
            var canvas_id = 'canvas' + angle_id;
            var canvas = document.getElementById(canvas_id);
            canvas.getContext("2d").drawImage(_Self.Video, left, top, 480, 270);
        });
    }, 1000 / 30);

那么如何在android中做同样的事情? 非常感谢。

1 个答案:

答案 0 :(得分:0)

音频播放

如果您想将自己的Web开发技能转移到移动设备上,则可以使用Issue on AndroidCordova之类的内容并继续以JS / CSS / HTML开发移动应用程序。由于这种类型的应用程序使用浏览器引擎来运行您的代码,因此取决于浏览器所支持的设备。这只是PhoneGap Ionic上的一个例子!

否则,从我可以看到,没有原生用于Android的基于Web音频的API,但是有许多音频DSP库应该能够按照您的意图执行任何处理(我相信您会发现看起来还有很多,但现在开始吧):

我认为Soundpool是您以低延迟同时播放多个音频文件的最佳选择。它还具有左右声道音量控制和您提到的其他功能;请参阅Native processing (NDK) Pure C/C++。这里还有一些docs


视频播放

环顾四周后,我可以说像您说的那样分割视频至少在本机android上似乎很简单。

但是,看起来starting examples功能使您可以执行所需的操作。当然,您将需要使用FFmpeg's crop,而我发现了一个有人执行Android version的例子:

 String[] cmd = {"-i", in, "-filter:v", "crop=" + 240 + ":" + 120 + ":" + 100 + ":" + 100, "-c:a", "copy", out};

 execFFmpegCommand(cmd);

这是我发现的用于分割视频的唯一技术,因此,如果您认识其他任何人,请发表评论(我将更新post)。

否则,您当前的技术可能会在我一开始提到的Web-Mobile开发技术上起作用。