# Android SDK

# 组件介绍

下载 SDK (opens new window),在 SDK 包内 doc 文件夹中有详细的说明。

# 集成向导

# 初始化和密钥设置

为了满足不同场景的需要,AppKey、 AppSecret 的设置有多种方式。请开发者选用 自己合适的方式进行。 第一种方式:在 AndroidManifest.xml 里设置 meta-data 标签,如:

<meta-data
            android:name="TAIHE_APPKEY"
            android:value="your appkey" />
 <meta-data
            android:name="TAIHE_APPSECRET"
            android:value="your appsecret" />
1
2
3
4
5
6

第二种方式:通过在资源文件 string.xml 中获取,而通过资源文件的获取也有两种方
式,一种是直接在资源文件中建立:

<string name="TAIHE_APPKEY">your appkey</string>
<string name="TAIHE_APPSECRET">your appsecret</string>
1
2

第三种方式:在 gradle 中加入如下语句:

resValue("string", "TAIHE_APPKEY", "your key")
resValue("string", "TAIHE_APPSECRET", "your sercet")
1
2

第四种方式:在初始化 sdk 的时候代码传入,比如:

SDKEngine.getInstance().init(this,"app key","app secret");
1

第五种方式,初始化 SDK 同时设置 SDK 的运行环境,比如:

SDKEngine.getInstance().init(this,"app key","app secret",BuildConfig.DEBUG,ServerEnv.Env_Dev.getEnv());
1

SDK 的运行环境,具体根据实际情况选择,参考 SDK 中的 ServerEnv 类,默认是线上环境。

# 调试日志

通过设置 LogUtil.setDebug(isInDebug) 或 者 SDKEngine.getInstance().init(this, BuildConfig.DEBUG)来打开或是关闭开关。注意开关最好和编译环境挂钩。

# 音乐播放

初始化歌曲播放器

StreamPlayer player = StreamPlayer.getInstance(ctx);
1

**
设置待播放数据

player.setPlayList(ArrayList<Music>);
1

这里输入的是歌曲列表数据,比如专辑中的歌曲、歌单里的歌曲列表等等。

播放功能
player.play(pos); 传入的参数是播放列表中那首歌曲。

暂停和继续播放
player.pause(); 暂停播放歌曲;
player.start(); 暂停后继续播放,切记在没有调用;
player.play(pos)调用,不然会报错。 只有先播放了,才能涉及到暂停和继续播放。

**上一首/下一首 **
player.playNext(); 播放上一首;
player.playPrevious();播放下一首;
这里提供的播放功能是循环播放的,比如播放到列表最后一个的时候就在按播放下
一首或自然播放结束,就会跳回到播放列表的第一个进行播放。

歌曲码率设置
当一首歌有多个码率的时候,播放器默认播放的是最高码率的,开发者可以根 据实际情况动态设置播放某首歌的码率。设置的方法是 player.setBitrate(rate),注意 设置这个方法一定要在 player.play(pos)、player.playNext()、player.playPrevious()等方 法之前,不然设置不管用。

# 日志回传

如果你们没有使用我们的播放器播放音乐,那么请在相应的状态触发回传的数据发送,以保证相关业务的合法性和正确性。
回传数据,需要触发回传的点:

public interface StreamPlayerListener extends DontObfuscateInterface {

    /**
     * 当音乐正式开始播放的时候,这个放到{@link android.media.MediaPlayer.OnPreparedListener}里调用
     *
     * @param music 传入{@link Music} 对象
     * @param type  播放方式 1在线 2离线 3下载
     */
    void OnStart(Music music, String type);

    /**
     * 播放暂停
     *
     * @param music 传入{@link Music} 对象
     */
    void OnPause(Music music);

    /**
     * 播放暂停后重新开始
     *
     * @param music 传入{@link Music} 对象
     */
    void OnRestart(Music music);

    /**
     * 播放完成,在{@link android.media.MediaPlayer.OnCompletionListener}里调用
     *
     * @param music 传入{@link Music} 对象
     */
    void OnComplete(Music music);

    /**
     * 播放停止  就是取消播放,彻底停止歌曲播放的时候回调
     *
     * @param music 传入{@link Music} 对象
     */
    void OnStop(Music music);
}
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
30
31
32
33
34
35
36
37
38

具体的点的描述,上面的图和 doc 中都有详细的说明,请按照相关点发送我们的
Music 对象数据。

fun logUpload(){
        StreamPlayerLog.getInstance().OnStart(music,"1")
        StreamPlayerLog.getInstance().OnPause(music)
        StreamPlayerLog.getInstance().OnRestart(music)
        StreamPlayerLog.getInstance().OnStop(music)
        StreamPlayerLog.getInstance().OnComplete(music)
    }
1
2
3
4
5
6
7
Last Updated: 12/28/2020, 10:07:47 AM