什么是宿主软件

什么是宿主软件,第1张

宿主软件就是专业的音乐制作软件,我们日常听到的大多数正规音乐作品都是用宿主软件制作出来的,这些软件一般需要安装各类插件,插件神嫌就像寄生虫需要在宿主软件里加载才可以工作。

宿主软件有很多,Cubase、FLStudio、StudioOne、ProTools、Logic、AbletonLive、者或SONAR、Nuendo、Audition、Samplitude等等。

插件主要分虚拟乐器插件和音频处理插件两类,虚拟乐器插件是用来编曲的,如钢琴、吉他、鼓、贝斯、古筝、二胡、口琴,等等只要能想象到的乐器都有,音频处理插件是处理波形文件的,比如混响、游嫌手压缩、均衡、等等都是为声音添加效果的。

扩展资料

宿主软件区别

1、运行环境分微软的windows *** 作系统、苹果电脑的MAC系统,还有可以运行在苹果手机或者平板电脑上的宿主,甚至还有ANDROID系统的宿主软件。

2、有的宿主适合编曲,有的适合录音混音,有的适合做现场,有的基本上全能。

参考资料:乐玩音乐人-宿主软件

DexClassLoader可以加载jar/apk/dex,可以从SD卡中加载未安装的apk

PathClassLoader只能加载系统中已经安装过的apk

至于具体源码区别:建议读一下DVM源码。本篇不再赘述,之后专门写一篇博客讲述DexClassLoader和PathClassLoader的区别。

**

加载外部APK

**

其实这个场景是这样的:

从服务器下载APK,保存在我们的手机储存卡内

读取APK文件,然后生成对应的DexClassLoader

通过DexClassLoader的loadClass方法读取插件APK dex中的任何一个类。

说干就干,首先我们创建一孝悉个项目MyPluginProject,在这个项目中创建一个Java类:TestModel

/**

* author: liumengqiang

* Date : 2019/7/27

* Description :

*/

public class TestModel {

private String name

public void setName(String name) {

this.name = name

}

public String getName() {

return name

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

然后打包此项目生成:app-debug.apk。

由于插件APK基本都是从服务器下载,为了模拟这个场景,我们需要在宿主项目中新建一个assets文件,将插件APK复制进去,然后在复制到宿主APP的data/data/files文件夹下。

注意:这里之前钻牛角尖了,就是为什么我不直接手动将插件APK直接复制到data/data/files,文件夹下呢? 说干就干,但是问题来了,我在文件管理器的当前Android/data/<包名>下找不到此包名,也就是说没有生成包路径。 说实话卡了很长时间,我一直以为是不是版本问题,最后求助朋友,折腾了一番,最终手动调用:getExternalCacheDir即可解决。生成路径是生成了,那么接下来就是复制APK了吧,当我复制到里面之后,我带袜发现,尼玛,死活获取不到复制进去的插件APK,真的是活见鬼,最后猛然发现那个包路径是系统路径!!!这个需要系蠢慎激统签名权限才能有权限访问! 而我们代码中assets中的APK是复制到内存中。。。

然后在我们的宿主项目中,新建assets,然后将app-debug.apk复制进去。接下来就是将app-debug.apk加载到内存中。

/**

* 把Assets里面得文件复制到 /data/data/files 目录下

*

* @param context

* @param sourceName

*/

public static void extractAssets(Context context, String sourceName) {

AssetManager am = context.getAssets()

InputStream is = null

FileOutputStream fos = null

try {

is = am.open(sourceName)

File extractFile = context.getFileStreamPath(sourceName)

fos = new FileOutputStream(extractFile)

byte[] buffer = new byte[1024]

int count = 0

while ((count = is.read(buffer)) >0) {

fos.write(buffer, 0, count)

}

fos.flush()

} catch (IOException e) {

e.printStackTrace()

} finally {

closeSilently(is)

closeSilently(fos)

}

}

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

打开水果,按下F10,左侧切换到FILE,右侧中部找到VST Plugins Extra Search Folder下的手野扮目录,以后安装任何插件都脊并安装到此目毕灶录(如果该目录为C分区,强烈推荐手工指定到系统分区以外分区(比如:E:\VSTPlugins\),因为随着安装插件的数量的增加,这个目录的空间可能会超出你的想像,因此要选择尽量大的分区来安装插件。对于已经安装的插件,更换了目录后可以直接将那些文件复制到新目录,vst插件其实就是一些可调用的 DLL文件及其附属文件。希望对您有帮助!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12499611.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存