[Android] Android读取Asset下文件的最简单的方法总结(用于MediaPlayer中)

方法一:getAssets().openFd

//读取asset内容
    private void openAssetMusic(String index) throws IOException {
//        String fileName = "a001.mp3"; //根目录文件
        String fileName = index + "/" + index + ".mp3"; //子目录文件
        AssetFileDescriptor fd = getAssets().openFd(fileName);
        mPlayer = new MediaPlayer();
        mPlayer.setDataSource(fd.getFileDescriptor(), fd.getStartOffset(), fd.getLength());
        mPlayer.prepare();
    }

方法二:ResourceUtil.getResId(index, R.raw.class)

//读取raw文件
    private void openRawMusic(String index) throws IOException {
        int resourceId = ResourceUtil.getResId(index, R.raw.class);//读取raw文件
        mPlayer = MediaPlayer.create(mContext, resourceId);

}

其中方法二为了读取raw文件夹下资源,用到了反射类 ResourceUtil.java

本博客地址: wukong1688

本文原文地址:https://www.cnblogs.com/wukong1688/p/10657628.html

转载请著名出处!谢谢~~

原文地址:https://www.cnblogs.com/wukong1688/p/10657628.html

时间: 2024-10-12 09:14:14

[Android] Android读取Asset下文件的最简单的方法总结(用于MediaPlayer中)的相关文章

Linux下禁止ping最简单的方法

LINUX下禁止ping命令的使用 以root进入Linux系统,然后编辑文件icmp_echo_ignore_allvi /proc/sys/net/ipv4/icmp_echo_ignore_all将其值改为1后为禁止PING将其值改为0后为解除禁止PING 直接修改会提示错误: WARNING: The file has been changed since reading it!!!Do you really want to write to it (y/n)?y"icmp_echo_i

Android 访问/data/app/下文件方法

地球人都知道的: A) /data/app/目录本身要su的访问权限,所以无法new File("/data/app"); 或许你不知道的: B) 初始安装时,文件被保存在: data/app + [包名].apk 覆盖安装N次后,文件名为: data/app + [包名]-N.apk 用adb shell 进入 /data/app/目录 赫然发现,即使/data/app目录本身是不可访问的,但是目录下的文件居然有读权限!. 那么可以肯定的是,必然有一种方法可以访问到这个目录下的文件.

QT 读取文件夹下所有文件(超级简单的方法,不需要QDirIterator)

之前,用标准C++写过读取文件夹.现在用QT重写代码,顺便看了下QT如何实现,还是相当简单的.主要用到QDir,详细文档可见这里 A program that lists all the files in the current directory (excluding symbolic links), sorted by size, smallest first: ? 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 #in

c# 读取路径下文件夹名-文件夹名-文件名

using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Web namespace PI_disease.PIAnalysis{ /// <summary> /// readfilename 的摘要说明 /// </summary>     public class readfilename : IHttpHandler     { public voi

DevExpress 如何读取当前目录下文件,加载至grid

DBFileName=DevExpress.Utils.FileHelper.FindingFileName(Appliaction.StartupPath,"Data\\Product>xml"); if(DBFileName != "") { DataSet dataSet = new DataSet(); dataSet.ReadXml(DBFileName); gridControl1.DataSource = dataView = dataSet.T

JCIFS读取远程服务器文件过慢的解决方法

发表于3年前(2013-07-12 11:23)   阅读(1174) | 评论(0) 0人收藏此文章, 我要收藏 赞0 jcifs smb 与windows explorer打开相同的文件相比,JCIFS默认情况下要慢太多了.我找了大半天,总算找出了解决方法,增加如下配置,则读取速度会有质的飞跃,我这边从7s提升至0.2s: ? 1 System.setProperty("jcifs.smb.client.dfs.disabled", "true"); 至于原因嘛

linux下文件或目录传输多种方法及测试(debian)

基础环境说明及安装 1.服务器 serverA=192.168.1.124(debian7.8) serverB=192.168.1.122(debian6.0.10) 2.需要将serverB下的目录testtransfer(4.5G)下全部远程复制到serverA下 3.需要用到软件 1)apt-cache search pigz pigz - Parallel Implementation of GZip(多线程压缩) 2)apt-cache search pv |grep "^pv&qu

【linux 禁止ping设置】Linux下禁止ping最简单的方法

ping是一个通信协议,是ip协议的一部分,tcp/ip 协议的一部分.利用它可以检查网络是否能够连通,用好它可以很好地帮助我们分析判定网络故障.应用格式为:Ping IP地址.但服务启用ping有时候会造成很多麻烦. 因此有时候根据需要(如防止攻击),Linux服务器管理员可限制服务器禁止其它用户Ping.同时又保证Linux服务器又可以Ping其它服务器. 下面介绍linux下最简单的禁ping方法 首先登陆服务器终端之间执行:echo 1 > /proc/sys/net/ipv4/icmp

Windows下安装GnuRadio最简单的方法(没有之一)

作者在Windows XP SP3 32位下亲测通过,理论上Win7也没问题. 1. 如果系统中安装有Python,请先把Python卸载. 2. 下载安装Python(x,y) 2.7.5.0, 下载地址: http://www.softpedia.com/get/Programming/Other-Programming-Files/Python-x-y.shtml 安装时,安装位置选择默认,安装模块全选. 3. 下载安装PyGtk 2.24 All-In-One, 下载地址: http:/