gpt4 book ai didi

file - 从SD卡获取音频文件的路径

转载 作者:行者123 更新时间:2023-12-03 02:15:07 28 4
gpt4 key购买 nike

在我的应用程序中,我尝试使用intent将文件路径从一个 Activity 传递到另一个 Activity 。在我的接收 Activity 中,文件路径为“空”。但是当我在第一个 Activity 中打印文件时,它将打印路径。 Activity ,我使用Gmailsender将文件附加到邮件中。这是我尝试的代码,

   private void startRecord()
{
File file = new File(Environment.getExternalStorageDirectory(), "test.pcm");

try
{
file.createNewFile();

OutputStream outputStream = new FileOutputStream(file);
BufferedOutputStream bufferedOutputStream = new BufferedOutputStream(outputStream);
DataOutputStream dataOutputStream = new DataOutputStream(bufferedOutputStream);

int minBufferSize = AudioRecord.getMinBufferSize(8000,
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT);

short[] audioData = new short[minBufferSize];

AudioRecord audioRecord = new AudioRecord(MediaRecorder.AudioSource.MIC,
8000,
AudioFormat.CHANNEL_IN_MONO,
AudioFormat.ENCODING_PCM_16BIT,
minBufferSize);

audioRecord.startRecording();

while(recording)
{
int numberOfShort = audioRecord.read(audioData, 0, minBufferSize);
for(int i = 0; i < numberOfShort; i++)
{
dataOutputStream.writeShort(audioData[i]);
}
}
audioRecord.stop();
audioRecord.release();
dataOutputStream.close();

}
catch (IOException e)
{
e.printStackTrace();
}
String audiofile;
audiofile=file.getAbsolutePath();
System.out.println("File Path::::"+audiofile);
}

目的是
  Intent sigout=new Intent(getApplicationContext(),WeeklyendActivity.class);
sigout.putExtra("mnt/sdcard-test.pcm",audiofile);
startActivity(sigout);

在我的接收 Activity 中
   String patty=getIntent().getStringExtra("mnt/sdcard-text.pcm");

System.out.println("paathhhy frfom ::"+patty);

它会输出null。有人可以帮助我获取文件路径吗?我不确定音频是否可以正确保存在该文件中?

请任何人帮助我!!谢谢!

最佳答案

根据您的信息,audioFileFile类型的变量,当您这样做时:

sigout.putExtra("mnt/sdcard-test.pcm",audiofile);

您将 File对象放入extras Bundle中。然后,当您尝试从 Bundle中获取更多内容时,请执行以下操作:
String patty=getIntent().getStringExtra("mnt/sdcard-text.pcm");

但是,此额外对象的类型为 File,而不是 String。这就是为什么您得到 null的原因。

如果只想传递文件名,则将多余的内容输入如下:
sigout.putExtra("mnt/sdcard-test.pcm",audiofile.getAbsolutePath());

关于file - 从SD卡获取音频文件的路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20652498/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com