zoukankan      html  css  js  c++  java
  • 如何使用Android JetPlayer类

    在Android中,还提供了对Jet播放的支持,Jet是由OHA联盟成员SONiVOX开发的一个交互音乐引擎。其包括两部分:JET播放器和JET引擎。JET常用于控制游戏的声音特效,采用MIDI(Musical Instrument Digital Interface)格式。

    MIDI数据有一套音乐符号构成,而非实际的音乐,这些音乐符号的一个序列称为MIDI消息,Jet文件包含多个Jet段,而每个Jet段又包含多个轨迹,一个轨迹是MIDI 消息的一个序列。

    JetPlayer类内部有个存放Jet段的队列,JetPlayer类的主要作用就是向队列中添加Jet段或者清空队列,其次就是控制Jet段的轨迹是否处于打开状态。需要注意的是,在Android开发中,JetPlayer是基于单子模式实现的,在整个系统中,仅存在一个JetPlayer的对象。JetPlayer的常用方法包括:

    代码:Ringtone对铃声的播放

    getJetPlayer() //获得JetPlayer的句柄
    clearQueue() //清空队列
    setEventListener() //设置JetPlayer.OnJetEventListener监听器
    loadJetFile() //加载Jet文件
    queueJetSegment() //查询Jet段
    play() //播放Jet文件

    下面是Jet的一般播放过程:
    private boolean muteMask[][] = new boolean[9][32];
    JetPlayer mJet = JetPlayer.getJetPlayer(); //获得JetPlayer的句柄
    mJet.clearQueue(); //清空当前队列
    mJet.setEventListener(this); //设置消息监听器
    mJet.loadJetFile(mContext.getResources().openRawResourceFd(R.raw.level1));//加载文件
    byte sSegmentID = 0;
    mJet.queueJetSegment(0, 0, 0, 0, 0, sSegmentID); //查询Jet段
    mJet.queueJetSegment(1, 0, 4, 0, 0, sSegmentID);
    mJet.queueJetSegment(1, 0, 4, 1, 0, sSegmentID);
    mJet.setMuteArray(muteMask[0], true);
    mJet.play(); //播放

    Jet文件的创建可以通过JetCreator记录工具进行, JetCreator记录工具由Python编写。关于JetCreator记录工具的详细用法可以参考Android帮助文档。

    JetPlayer | Android Developers
    https://developer.android.google.cn/guide/topics/media/jetplayer.html#jetcontent

  • 相关阅读:
    ajax 406 Not Acceptable
    HTTP Status 400
    HTTP Status 500
    ClassNotFoundException: javax.validation.ValidatorFactory
    mysql 外键引发的删除失败
    Cannot invoke Tomcat manager: socket write error
    记一次恐怖的 Integer 溢出
    又见 tomcat启动startup.bat一闪而过
    Cannot run Eclipse; JVM terminated. Exit code=13
    The type javax.swing.JComponent cannot be resolved. It is indirectly referenced from required .class files
  • 原文地址:https://www.cnblogs.com/bluestorm/p/6211721.html
Copyright © 2011-2022 走看看