MP3在Sony Ericsson K700上的音响效果

本文介绍了在Sony Ericsson K700上播放MP3的相关技巧。阐述了MP3音质受采样率和比特分辨率影响,给出高质量MP3存储格式。还提及MP3与AMR格式转换方法,以及用MMAPI播放MP3文件的注意事项和示例代码。

作者:lulei024 文章来源:http://developer.sonyericsson.com

MP3Sony Ericsson K700上的音响效果

MIDlets中,通过使用MP3文件,可以在很大程度上改善音效。这篇小技巧和后面一个附带源代码的MIDlet程序将会向你指出如何去做。

像任何以采样为基础的声音播放一样,MP3播放的音质很大程度上依赖于采样率。下面的内容说明了人们在主观上对一些常见的不同采样率的MP3音质的评价。

采样率

8,000 Hz

电话机的品质

11,025 Hz

AM 调频收音机的品质

16,000 Hz

11 KHz22 KHz之间的折中音质

22,050 Hz

接近 FM 收音机的品质

32,075 Hz

FM 收音机的品质好一些

44,100 Hz

CD 音质

48,000 Hz

DAT 音质

另一个影响因素是单独采样的比特分辨率,选择8比特的分辨率将可以提供256级展示效果,如果选择16比特那么可以提供65k级的效果。为了获得高质量的MP3文件,我们最好存储为一下格式:

22,050 Hz, 16-bit resolution, mono, 40kbps
44,100 Hz. 16-bit resolution, mono, 64kbps

创建一个20秒的MP3文件,在22.050Khz频率下的大小为99kb,在44.1Khz采样率下为158kb。如果把他们转换成AMR格式的,大小为27kb,但是音质有所下降。如果你想把MP3转成AMR,你必须先把它转成8000hz16-bitwav格式的文件,然后你再用AMR Converter 来转换成AMR格式的文件。AMR格式的文件的采样率只有8khz,它可以很好的应用在人声上,MP3更适合听音乐。你可以从这里下载AMR Converter

MMAPI播放MP3文件还算简单,读者应该注意创建Player的时候mp3的内容类型应该是audio/mpeg。如果创建其他的媒体类型的播放器请参考下面的列表:

  1. Wave audio files: audio/x-wav
  2. AU audio files: audio/basic
  3. MP3 audio files: audio/mpeg
  4. MIDI files: audio/midi
  5. Tone sequences: audio/x-tone-seq
  6. MPEG video files: video/mpeg

下面是播放mp3的例子:

InputStream is = getClass().getResourceAsStream("/example.mp3");
try{
player = Manager.createPlayer(is, "audio/mpeg");
player.start();
}catch(Exception e){}

需要更多关于K700上声音的信息,请参阅Sony Ericsson J2ME Developers’ Guidelines JSR-135 文档。

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.media.*;

import javax.microedition.io.*;
import java.io.*;

public class MP3 extends MIDlet {
public void startApp() {
MusicPlayer mp = new MusicPlayer();
mp.playMP3();
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}
}

class MusicPlayer{

private Player player = null;
private Runtime rt;

public MusicPlayer(){
rt = Runtime.getRuntime();
}

public void playMP3(){
InputStream is = getClass().getResourceAsStream("/Discuss.mp3");
try{
player = Manager.createPlayer(is, "audio/mpeg");
player.start();
}catch(Exception e){}
}
}

MMAPI播放MP3文件还算简单,读者应该注意创建Player的时候mp3的内容类型应该是audio/mpeg。如果创建其他的媒体类型的播放器请参考下面的列表:

  1. Wave audio files: audio/x-wav
  2. AU audio files: audio/basic
  3. MP3 audio files: audio/mpeg
  4. MIDI files: audio/midi
  5. Tone sequences: audio/x-tone-seq
  6. MPEG video files: video/mpeg

下面是播放mp3的例子:

InputStream is = getClass().getResourceAsStream("/example.mp3");
try{
player = Manager.createPlayer(is, "audio/mpeg");
player.start();
}catch(Exception e){}

需要更多关于K700上声音的信息,请参阅Sony Ericsson J2ME Developers’ Guidelines JSR-135 文档。

import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import javax.microedition.media.*;

import javax.microedition.io.*;
import java.io.*;

public class MP3 extends MIDlet {
public void startApp() {
MusicPlayer mp = new MusicPlayer();
mp.playMP3();
}

public void pauseApp() {
}

public void destroyApp(boolean unconditional) {
}
}

class MusicPlayer{

private Player player = null;
private Runtime rt;

public MusicPlayer(){
rt = Runtime.getRuntime();
}

public void playMP3(){
InputStream is = getClass().getResourceAsStream("/Discuss.mp3");
try{
player = Manager.createPlayer(is, "audio/mpeg");
player.start();
}catch(Exception e){}
}
}

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值