Android原始资源的使用

除了各种Xml文件、图片文件之外,Android应用可能还需要用到大量其他类型的资源,比如声音资源等,类似的各种文件,只要Android没有为其提供专门的支持,这种资源都叫做原始资源,原始资源可以放在两个地方:

(1)/res/raw目录下

(2)/assets目录下,该目录下的资源是更彻底的原始资源,通过AssetManager来管理。

AssetManager使用两种方式来访问Assets资源:

InputStream open(String fileName)

AssetFileDecriptor openFd(String fileName)   AssetFileDecriptor代表一项原始资源的描述。

示例代码:

public class RawResTest extends Activity
{
	MediaPlayer mediaPlayer1 = null;
	MediaPlayer mediaPlayer2 = null;

	@Override
	public void onCreate(Bundle savedInstanceState)
	{
		super.onCreate(savedInstanceState);
		setContentView(R.layout.main);
		// 直接根据声音文件的ID来创建MediaPlayer。
		mediaPlayer1 = MediaPlayer.create(this, R.raw.bomb);
		// 获取该应用的AssetManager
		AssetManager am = getAssets();
		try
		{
			// 获取指定文件对应的AssetFileDescriptor。
			AssetFileDescriptor afd = am.openFd("shot.mp3");
			mediaPlayer2 = new MediaPlayer();
			// 使用MediaPlayer加载指定的声音文件。
			mediaPlayer2.setDataSource(afd.getFileDescriptor());
			mediaPlayer2.prepare();
		}
		catch (IOException e)
		{
			e.printStackTrace();
		}
		// 获取第一个按钮,并为它绑定事件监听器
		Button playRaw = (Button) findViewById(R.id.playRaw);
		playRaw.setOnClickListener(new OnClickListener()
		{
			@Override
			public void onClick(View arg0)
			{
				// 播放声音
				mediaPlayer1.start();
			}
		});
		// 获取第二个按钮,并为它绑定事件监听器
		Button playAsset = (Button) findViewById(R.id.playAsset);
		playAsset.setOnClickListener(new OnClickListener()
		{
			@Override
			public void onClick(View arg0)
			{
				// 播放声音
				mediaPlayer2.start();
			}
		});
	}
}


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值