Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android之使用原始資源

android之使用原始資源

編輯:關於Android編程

android中沒有提供專門支持的文件 叫原始資源文件。android原始資源一般放在/res/raw目錄和/assets/目錄下;在assets目錄下的文件通過AssetMananger來管理,它提供了幾個常用的方法來訪問Assets資源

InputStream open(String fileName):根據文件名來獲取原始資源對應的輸入流;

AssetFileDescriptor openFd(String fileName):根據文件名來獲取原始資源對應的AssetFileDescriptor 資源描述,應用程序可以通過它來獲取原始資源

package com.android.xiong.rawrestest;

import android.app.Activity;
import android.content.res.AssetFileDescriptor;
import android.content.res.AssetManager;
import android.media.MediaPlayer;
import android.os.Bundle;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;

public class MainActivity extends Activity {

	private Button bt1, bt2;
	MediaPlayer mediaPlayer1 = null;
	MediaPlayer mediaPlayer2 = null;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		bt1 = (Button) findViewById(R.id.bt1);
		bt2 = (Button) findViewById(R.id.bt2);
		// 直接根據聲音文件的ID來創建MediaPlayer
		mediaPlayer1 = MediaPlayer.create(this, R.raw.bomb);
		// 獲取該應用的AssetManager
		AssetManager am = this.getAssets();
		try {
			// 獲取指定文件對應的AssetFileDescriptor
			AssetFileDescriptor afd = am.openFd("shot.mp3");
			mediaPlayer2 = new MediaPlayer();
			// 使用MediaPlayer加載指定的聲音文件
			mediaPlayer2.setDataSource(afd.getFileDescriptor());
			mediaPlayer2.prepare();
		} catch (Exception e) {
			e.printStackTrace();
		}
		bt1.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// 播放聲音
				mediaPlayer1.start();
			}
		});
		bt2.setOnClickListener(new OnClickListener() {

			@Override
			public void onClick(View v) {
				// 播放聲音
				mediaPlayer2.start();
				

			}
		});
	}

	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		// Inflate the menu; this adds items to the action bar if it is present.
		getMenuInflater().inflate(R.menu.main, menu);
		return true;
	}

}



    


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved