J2ME学习(三)——如何播放声音

J2ME学习(三)——如何播放声音<o:p> 
</o:p>


      
在J2ME中,处理声音需要使用到Mobile Media API(MMAPI),该包是MIDP1.0的可选包,在MIDP2.0中已经包含了这个包。所以如果你使用MIDP1.0的话,请确认你的运行环境是否支持。

       一般手机支持的声音文件格式为wav、mid和mpg等。具体请查阅你的手机说明文档。

       在声音处理中,有很多处理的方式,这里说一下最常用的情况,播放JAR文件中的wav文件。

       播放声音文件的流程:

1、  按照一定的格式读取声音文件。

播放JAR文件中的声音文件一般是将声音文件处理成流的形式。示例代码:

InputStream is = this.getClass().getResourceAsStream("/Autorun.wav");

其中Autorun.wav文件位于JAR文件的根目录下,如果位于别的目录,需要加上目录名称,如/res /Autorun.wav。<o:p></o:p>

2、  将读取到的内容传递给播放器。

将流信息传递给播放器,播放器按照一定的格式来进行解码操作,示例代码:

Player player = Manager.createPlayer(is,"audio/x-wav");

其中第一个参数为流对象,第二个参数为声音文件的格式。<o:p></o:p>

3、  播放声音。

使用Player对象的start方法,可以将声音播放出来,示例代码:

player.start();

<o:p> </o:p>

       在播放声音时也可以设定声音播放的次数,可以使用Player类中的setLoopCount方法来实现,具体可查阅API文档。<o:p></o:p>

       下面是在NOKIA S60模拟器中测试通过。代码如下:<o:p></o:p>

package sound;<o:p></o:p>

<o:p> </o:p>

import javax.microedition.midlet.*;<o:p></o:p>

import javax.microedition.lcdui.*;<o:p></o:p>

import javax.microedition.media.*;<o:p></o:p>

import java.io.*;<o:p></o:p>

<o:p> </o:p>

public class SoundMIDlet extends MIDlet {<o:p></o:p>

  private Player player = null;<o:p></o:p>

  /** Constructor */<o:p></o:p>

  public SoundMIDlet() {<o:p></o:p>

    try{<o:p></o:p>

      InputStream is = this.getClass().getResourceAsStream("/Autorun.wav");<o:p></o:p>

      player = Manager.createPlayer(is,"audio/x-wav");<o:p></o:p>

    }catch(IOException e){<o:p></o:p>

      System.out.println("1:" + e);<o:p></o:p>

    }catch(MediaException e){<o:p></o:p>

      System.out.println("2:" + e);<o:p></o:p>

    }catch(Exception e){<o:p></o:p>

      System.out.println("3:" + e);<o:p></o:p>

    }<o:p></o:p>

  }<o:p></o:p>

  /** Main method */<o:p></o:p>

  public void startApp() {<o:p></o:p>

    if(player != null){<o:p></o:p>

      try{<o:p></o:p>

        player.start();<o:p></o:p>

      }catch(MediaException e){<o:p></o:p>

        System.out.println("4:" + e);<o:p></o:p>

      }<o:p></o:p>

    }<o:p></o:p>

  }<o:p></o:p>

  /** Handle pausing the MIDlet */<o:p></o:p>

  public void pauseApp() {<o:p></o:p>

  }<o:p></o:p>

  /** Handle destroying the MIDlet */<o:p></o:p>

  public void destroyApp(boolean unconditional) {<o:p></o:p>

  }<o:p></o:p>

}
<o:p>
更多文章请访问我的blog :  http://blog.youkuaiyun.com/mailbomb</o:p>

实战解析:利用Python requests库高效抓取京东商品评论并构建结构化数据集 本文详细介绍了如何利用Python requests库高效抓取京东商品评论并构建结构化数据集。通过分析京东评论接口、处理反爬机制以及数据解析存储,帮助开发者快速获取电商数据,适用于竞品监控、用户画像构建等商业场景。 阅读详情

相关推荐

XR Interaction Toolkit实战:为HTC Vive Cosmos打造抓取、投掷与UI交互(Unity 2023教程)

本文详细介绍了如何使用Unity 2023和XR Interaction Toolkit为HTC Vive Cosmos开发抓取、投掷与UI交互系统。通过实战案例'VR投掷训练室',从基础配置到高级功能实现,涵盖物理抓取、精准投掷机制和VR UI交互设计,帮助开发者提升VR交互开发技能。

weixin_30562507的博客 257

J2me Game开发技巧:手机游戏中声音播放及处理

  在J2ME中,通过Mobile Media API(MMAPI)支持手机音频,这是在特定类型的设备上支持不同程度的多媒体的类和接口的一个集合。更具体地说,Mobile Media API划分为两种不同的API集合。  手机乐音或特别的声音效果,对于手机游戏玩家来说将会是一种美妙的享受。J2ME音效通常分为两种:一种是播放已有的声音文件,另一种是播放音调。  在J2ME中

Angelalove的专栏 618

ESP32 Arduino学习篇 (一) 引脚和串口的基本使用

简单来讲arduino就是通过源代码控制开发板的信号输入输出从而实现对一些电子元件的控制,例如LED灯,蜂鸣器,按键arduino程序首先来讲arduino程序是基于C语言,而实现类似对于LED灯和蜂鸣器的简单控制只需简单C语言知识即可实现。arduino程序是基于函数的,而在arduino的库有很多函数,我们只需要调用即可。arduino的程序主体是**setup()函数和loop()**函数以及其它在使用过程中需要构建的函数:setup()函数。

DOF526570的博客 1万+

eclipse J2ME 声音不能正常播放(以前可以)

出现这个问题,一直认为自己程序问题。最后想起以前抛出一个异常,是说eclipse无法删除c盘的一个关于声音临时文件。结果用超级兔子清理了一下临时文件就能播放了。至于为什么会跑出这个异常,现在不知道原因。只希望不要犯同样的错误。

haoyyy的专栏 767

VisionPro 9.0 QuickBuild里用C#脚本调用Halcon 23.11模型,保姆级图文配置流程

本文详细介绍了如何在VisionPro 9.0 QuickBuild环境中使用C#脚本调用Halcon 23.11深度学习模型,提供从环境配置到模型集成的保姆级图文教程。重点解决图像格式转换、许可证配置等工业视觉检测中的常见问题,帮助开发者快速实现高效、稳定的视觉检测流水线部署。

weixin_27027459的博客 438

【Anaconda】解决“libGL error: MESA-LOADER: failed to open iris”问题

stackoverflow中的“libGL error: MESA-LOADER: failed to open iris”问题。而在自己创建的conda环境中的lib下出现`GLIBCXX_3.4.30’ not found 的情况。在上述解决方案中,将第一行命令的lib路径换成自己创建的conda环境lib路径,运行指令,问题解决。目前问题解决,总结一下查找资料以及解决方法。运行如下命令,发现本地支持。

quintus0505的博客 5026

[转载]J2ME播放声音的几个问题(nokia)

J2ME播放声音的几个问题(nokia) Nokia的手机对声音播放支持的好像不太好。本文根据我做j2me的经验,总结一下Nokia三个机型的声音播放方法。1。Nokia S40(7210,3300) 和 S60(3650,76...

congji3817的博客 216

使用LogisticRegression和LightGBM模型对信贷违约进行预测----基于kaggle比赛数据

3.分离数值型变量与类别型变量,发现有些数值型变量因为输入不规范,比如数值中含有字符(28_,_10000_等)被划分为类别型变量 ,比如 'Age','Annual_Income','Num_of_Loan', 'Num_of_Delayed_Payment', 'Changed_Credit_Limit','Credit_Mix','Monthly_Balance', 'Outstanding_Debt' ,'Amount_invested_monthly'等。三、分箱,woe编码,计算IV值。

I_am_a_big_tiger的博客 1682

J2ME播放声音

        在J2ME中,处理声音需要使用到Mobile Media API(MMAPI),该包是MIDP1.0的可选包,在MIDP2.0中已经包含了这个包。所以如果你使用MIDP1.0的话,请确认你的运行环境是否支持。  一般手机支持的声音文件格式为wav、mid和mpg等。具体请查阅你的手机说明文档。  在声音处理中,有很多处理的方式,这里说一下最常用的情况,播放JAR文件中的wav文件。

神秘嘉宾 403

MFRC522防冲突机制详解:当两张IC卡同时靠近读写器,会发生什么?

本文深入解析了MFRC522芯片在多张IC卡同时靠近RFID读写器时的防冲突机制,重点介绍了二叉树搜索算法在比特级的实现原理。通过详细的寄存器配置优化和实际工程案例,展示了如何有效解决信号碰撞问题,提升多卡场景下的读写性能。

weixin_29191669的博客 429

01-嵌入式入门-如何看原理图

最近由于找到的工作是偏于嵌入式方向,因此又重新开始学习已经丢弃两年的知识。新手学习知识感觉有一个通病:喜欢收集各种各样的视频、资料,网盘里收藏一大堆,但是却从没有打开看过,到头来还是个小白,只听说过几个概念,而实际却是不知所云,这就是所谓的"学习综合征"。而我也是其中的一员,最近痛定思痛,就准备根据一套资料沉下心学习下去,不再进入收集资料的大军。...

weixin_34010566的博客 4492

在J2ME程序中实现声音播放

在J2ME中,处理声音需要使用到Mobile Media API(MMAPI),该包是MIDP1.0的可选包,在MIDP2.0中已经包含了这个包。所以如果你使用MIDP1.0的话,请确认你的运行环境是否支持。   一般手机支持的...

ciyi7513的博客 189

地平线旭日X3 安装xfce桌面+VNC查看USB摄像头

VNC是Virtual Network Computing的缩写,它是一种使用RFB(Remote Frame Buffer)协议的用于控制远程电脑的图形桌面分享系统。xfce桌面相比于GNOME桌面更加轻量,占用的资源更少,在没有GPU的设备上也可以运行(旭日的Desktop版本从外观上好像就是xfce桌面,具体没有尝试)。可以使用专用的VNC客户端连接到开发板,例如vnc viewer。板子默认带有openssh-server,因此,WiFi热点连接成功后,就可以使用ssh登录开发板了。

bingdund的博客 510

J2ME学习之声音的播放

下面是一个简单的利用J2ME播放音频的例子(注意:默认的WTK2.5.2不支持MP3格式的音频)在实际应用中,可将下文中的http://localhost:8080/abc/12345.wav改成所需要音频的网址import java.io.IOException;import javax.microedition.lcdui.Command;import javax.microedition.l

网络 541

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

J2ME手机开发--播放声音文件的完整源代码

//可以在你的j2me项目中,用这个类文件来播放声音//使用方法:// source = new Source("1.mid");// source.start();//我的手机不支持mp3,^_^,没关系,我自己写个程序来放歌听,只是效果差点.import javax.microedition.media.*;import javax.

yixinqinghong的专栏 368

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

J2ME如何播放声音

<br />在J2ME中,处理声音需要使用到Mobile Media API(MMAPI),该包是MIDP1.0的可选包,在MIDP2.0中已经包含了这个包。所以如果你使用MIDP1.0的话,请确认你的运行环境是否支持。<br /><br />  一般手机支持的声音文件格式为wav、mid和mpg等。具体请查阅你的手机说明文档。<br /><br />  在声音处理中,有很多处理的方式,这里说一下最常用的情况,播放JAR文件中的wav文件。<br /><br />  播放声音文件的流程:<br />1、按照

pdw_jsp的专栏 781

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

J2ME的现状与发展

SUN中国工程研究院 软件技术中心 王刚摘要本文简要介绍了J2ME的有关概念和现状、MIDP2.0的最新特点,并对J2ME的竞争对手、J2ME应用程序的兼容性以及其在Web Services中的应用做了阐述和分析。什么是J2ME?当JAVA平台发展到JAVA 2的版本以后,为了适应不同级别计算机硬件的开发需要,JAVA平台形成了三个主要分支:Java 2, Standard E

优快云_document的专栏 3347

j2me工具类:声音播放类SoundUtil

用法: 将需要播放的音乐都罗列在name,type数组中,需要的时候像下面这样调用: SoundUtil sound=new SoundUtil(); sound.start(musicIndex); import java.io.IOException; import java.io.InputStream; import javax.microedition.media.Mana

gundumw100的专栏 464

J2ME播放声音的几个问题(nokia).

Nokia的手机对声音播放支持的好像不太好。本文根据我做j2me的经验,总结一下Nokia三个机型的声音播放方法。1。Nokia S40(7210,3300) 和 S60(3650,7650)/*这四款机子不支持MIDP2.0的media。我只针对我做过的机型说明,其他的机型没有用真机试验,不知道是否支持MIDP2.0中的media*/import com.nokia.mid.sound.*;pu

一定是在做梦 1454

J2ME的一些模版

音乐播放模版:/** * 类说明:音乐的控制 * ware audio files audio/x-wav * au audio/basic * mp3 audio/mpeg * midi

kbest的专栏 1092

J2ME Study

J2ME基本知识:1) 什么是J2ME?   当JAVA平台发展到JAVA 2的版本以后,为了适应不同级别计算机硬件的开发需要,JAVA平台形成了三个主要分支: J2SE :Java 2, Standard Edition,是为台式机而设计的,主要运行在Linux, Solaris, 或Microsoft Windows等操作系统上。 J2EE:Java 2, Enterprise Edi...

松松 238

j2me 同时播放2个MP3文件

<br />在支持kjava的设备上同时播放两个声音上网实现代码如下:<br />经测试s40 V6版播放正常 s40 V3版不支持<br /><br /> Form f = new Form("MP3播放器");<br />  Display.getDisplay(this).setCurrent(f);<br />  Player p1, p2;<br />  try {<br />      p1 = Manager.createPlayer("file:///E:/周传雄-黄昏.mp3");<br

stonexing5的专栏 966

J2ME播放声音流程简介

在J2ME中,处理声音需要使用到Mobile Media API(MMAPI),该包是MIDP1.0的可选包,在MIDP2.0中已经包含了这个包。所以如果你使用MIDP1.0的话,请确认你的运行环境是否支持。一般手机支持的声音文件格式为wav、mid和mpg等。具体请查阅你的手机说明文档。在声音处理中,有很多处理的方式,这里说一下最常用的情况,播放JAR文件中的wav文件。播放声音文件的流...

创业的程序员 316

如何在J2ME程序中播放声音

下边代码说明了如何在J2ME程序中播放声音播放位于WEB 服务器上的WAV文件:try  {     Player p = Manager.createPlayer("http://webserver/music.wav");    p.start();   }   catch (IOException ioe) { }   catch (MediaException me) { }  

922
上一篇: J2ME资源:各厂商SDK和模拟器下载地址
下一篇: J2ME学习(四)——将MIDlet和界面分离(比较基础)
java2000_test
博客等级 码龄19年 10粉丝 320原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值