首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >播放SD卡中的音频文件

播放SD卡中的音频文件
EN

Stack Overflow用户
提问于 2012-03-02 05:03:09
回答 2查看 15.8K关注 0票数 4

我想播放SD卡中的音频文件。如何读取并播放音频文件?下面是我播放音频文件的代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int sound1;
sound1 = mSoundPool.load(this, R.raw.om, 1);
mSoundPool.play(sound1, 1, 1, 1, time - 1, 1);

在上面的代码中,我使用soundpool播放raw文件夹中的音频文件,但我需要使用soundpool播放sdcard中的音频文件。

现在有兴趣播放音频从sdcard。

如何做到这一点呢?请帮帮我,我需要尽快解决这个问题。

EN

回答 2

Stack Overflow用户

发布于 2012-03-02 06:08:45

使用下面的代码,它对我很有效。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
MediaPlayer mp = new MediaPlayer();
mp.setDataSource("/mnt/sdcard/yourdirectory/youraudiofile.wav");
mp.prepare();
mp.start();
票数 19
EN

Stack Overflow用户

发布于 2012-06-13 06:20:56

我已经播放了声音从SD卡使用以下代码,它为我工作。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
private SoundPool mSoundPool;
private int mSoundID;
private boolean isLoaded = false;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    Log.d(TAG, "Start Greeting View Activity...");

    setContentView(R.layout.greeting_view_activity);
    //mGiGiView = (GreetingWidget) findViewById(R.id.gigi_greet);
    //mGiGiView.setOnTouchListener(this);

    //Set default animation sound path.
    String soundAnimUrl = "/gigi/anim/evening.ogg";

    // get the Bundle out of the Intent.
    Bundle extras = getIntent().getExtras();
    if (extras != null) {

        // check to see if "soundAnimUrl" is in the bundle, if so then
        // assign it's value to animUrl if not, assign null to soundAnimUrl.
        soundAnimUrl = extras.containsKey("soundAnimUrl") ? extras
                .getString("soundAnimUrl") : null;
    }

    // Set the hardware buttons to control the music.
    this.setVolumeControlStream(AudioManager.STREAM_MUSIC);

    // Load the sound.
    mSoundPool = new SoundPool(10, AudioManager.STREAM_MUSIC, 0);
    mSoundPool.setOnLoadCompleteListener(new OnLoadCompleteListener() {
        @Override
        public void onLoadComplete(SoundPool soundPool, int sampleId,
                int status) {
            isLoaded = true;

            // Play the sound when loaded
            play();
        }
    });

    mSoundID = mSoundPool
            .load(getFile(Environment.DIRECTORY_MUSIC, soundAnimUrl)
                    .getPath(), 1);

    //Play sound from raw directory
    // soundID = soundPool.load(this, R.raw.greeting1, 1);      
}

private void play() {
    // Getting the user sound settings
    AudioManager audioManager = (AudioManager) getSystemService(AUDIO_SERVICE);
    float actualVolume = (float) audioManager
            .getStreamVolume(AudioManager.STREAM_MUSIC);
    float maxVolume = (float) audioManager
            .getStreamMaxVolume(AudioManager.STREAM_MUSIC);
    float volume = actualVolume / maxVolume;

    // Is the sound loaded already?
    if (isLoaded) {
        mSoundPool.play(mSoundID, volume, volume, 1, 0, 1f);
        Log.d(TAG, "Played sound");
    }
}

@Override
public boolean onTouch(View v, MotionEvent event) {
    if (event.getAction() == MotionEvent.ACTION_DOWN) {
        switch (v.getId()) {
        case R.id.gigi_greet:
            play();
            break;

        default:
            break;
        }
    }
    return false;
}   

/**
 * Get File instance from sd card path.
 * 
 * @param deviceFolderPath
 *            - Pictures, Music, etc
 * @param dbFilePath
 *            - path stored in db (/gigi/anim/morning.ogg)
 * @return
 */
public File getFile(final String deviceFolderPath, final String dbFilePath) {

    // Create full path
    String picturePath = deviceFolderPath.concat(File.separator).concat(
            dbFilePath);

    // Create file
    File mFile = getExternalFilesDir(picturePath);

    return mFile;
}
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9528238

复制
相关文章
制作SD启动卡,从SD卡启动系统
可以看到我这张SD卡的相关信息,总容量为15931539456字节,31116288个sectors,即一个sector为512字节。
哆哆jarvis
2022/08/23
3.5K0
制作SD启动卡,从SD卡启动系统
SD卡 MMC卡 MS卡 TF卡
SD卡(Secure Digital Memory Card)中文翻译为安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备。SD卡由日本松下、东芝及美国
全栈程序员站长
2022/09/03
3.4K0
SD卡 MMC卡 MS卡 TF卡
SD卡与MMC卡的区别
本文译至:http://home.impress.co.jp/magazine/dosvpr/q-a/0108/qa0108_2.htm
全栈程序员站长
2022/07/01
1.5K0
sd卡插拔
android/frameworks/base/core/java/android/os/storage/
全栈程序员站长
2022/09/02
8910
stm32 sd卡读写_sd卡引脚定义图
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
全栈程序员站长
2022/11/15
1.7K0
stm32 sd卡读写_sd卡引脚定义图
Python 播放音频文件
playsound是纯Python、跨平台、单功能模块,不依赖于播放声音。使用此模块,可以使用一行代码播放声音文件:
Python知识大全
2020/01/20
6.9K0
js控制音频文件的播放暂停操作
这个功能是在最百度语音合成的时候涉及到的,这个功能我也是第一次写,毕竟前端的东西不是很擅长。特此记录一下。
申霖
2020/04/03
8.1K0
【答疑解惑】SD卡的来龙去脉
SD(Secure Digital)与 MMC(Multimedia Card) SD 是一种 flash memory card 的标准,也就是一般常见的 SD 记忆卡,而 MMC 则是较早的一种记忆卡标准,目前已经被 SD 标准所取代。在维基百科上有相当详细的 SD/MMC 规格说明:[http://zh.wikipedia.org/wiki/Secure_Digital]。 SDIO(Secure Digital I/O) SDIO 是目前我们比较关心的技术,SDIO 故名思义,就是 SD 的 I
程序员互动联盟
2018/03/14
1.2K0
【答疑解惑】SD卡的来龙去脉
Android读写SD卡
SD卡的读写是我们在开发Android 应用程序过程中最常见的操作。下面介绍SD卡的读写操作方式:
全栈程序员站长
2022/07/15
1.2K0
Android保存日志记录到sd卡的文件中
一、自己写代码 Android日志服务例子,将日志记录在文件中并每天生成一个日志文件 - - ITeye技术网站 Android将应用log信息保存文件 - way - 博客频道 - CSDN.NET Android开发调试日志工具类[支持保存到SD卡] - OPEN 开发经验库 二、使用工具 android上如何实现后台日志记录并写文件到sd卡 - 博客频道 - CSDN.NET
用户1733354
2018/05/22
2.7K0
SD卡、TF卡、MMC卡、emmc、sdio扫盲
共同点:SD TF MMC都是在MMC基础上演化发展不同的规范,比如物理尺寸,封装,电压,管脚,位宽,时钟信号等不同,但都使用相同的总线规范。
全栈程序员站长
2022/08/27
14.7K0
SD卡、TF卡、MMC卡、emmc、sdio扫盲
js播放音频文件总结
最近在做一个英语听力的个人玩的项目,需要用js来播放mp3文件。从网络上搜到了好多种解决方案。
jerryteng
2018/11/28
9.1K0
js播放音频文件总结
NodeMCU读写SD卡.上
得出一个结论,ESP的demo在瞎鸡儿写。。。头打烂给你,在8266上面你找到这些引脚,屁股给你踢歪。
云深无际
2021/02/23
2.2K0
NodeMCU读写SD卡.上
[android] 保存文件到SD卡
/****************2016年5月4日 更新*****************************/
唯一Chat
2019/09/10
2.7K0
SD卡、TF卡、MMC卡以及eMMC芯片的介绍「建议收藏」
大家好,又见面了,我是你们的朋友全栈君。一、SD卡 1、简介 SD卡为Secure Digital Memory Card, 即安全数码卡,是一种基于半导体快闪记忆器的新一代记忆设备。它在MMC的基础上发展而来,增加了两个主要特色:SD卡强调数据的安全,可以设定所储存的使用权限,防止数据被他人复制;另外一个特色就是传输速度比2.11版的MMC卡快。 2、外观及引脚定义
全栈程序员站长
2022/07/01
6.4K0
SD卡、TF卡、MMC卡以及eMMC芯片的介绍「建议收藏」
cf卡,mmc卡,sd卡,sm卡,xd卡,记忆棒的区别是什么?[通俗易懂]
CF卡是1994年由SanDisk最先推出的。CF卡具有PCMCIA-ATA功能,并与之兼容;CF卡重量只有14g,仅纸板火柴般大小 (43mm×36mm×3.3mm),是一种固态产品,也就是工作时没有运动部件。
全栈程序员站长
2022/09/01
3K0
STM32开发_利用SPI协议读写SD卡、介绍SD卡SPI时序
5.7 SPI模式下: 获取SD卡的总扇区数(GetSDCardSectorCount)
DS小龙哥
2022/11/29
6.7K0
STM32开发_利用SPI协议读写SD卡、介绍SD卡SPI时序
【代码】Python播放MP3音频文件
按推荐顺序排列 ①使用playsound库 from playsound import playsound playsound('xx.mp3') ②使用pygame库 from pygame import mixer import time mixer.init() mixer.music.load('xx.mp3') mixer.music.play() time.sleep(5) mixer.music.stop() ③使用mp3play库(仅支持python2,对python3不支持) imp
py3study
2020/01/08
1.8K0
android 保存bitmap到SD卡
转自:http://blog.csdn.net/cbirdlg/article/details/5896037
forrestlin
2022/04/02
1.1K0
点击加载更多

相似问题

播放SD卡中的音频文件

10

Android:如何播放SD卡上的音频文件

20

获取SD卡路径播放音频文件异常

11

从sd卡播放wav音频文件的android java

10

重命名SD卡中的音频文件

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文