【问题标题】:How to share audio on Telegram如何在 Telegram 上分享音频
【发布时间】:2015-12-29 23:21:14
【问题描述】:

我想制作一个按钮以在 Telegram 上分享音频文件。 我只有 Telegram 有问题(在 whatsapp 上分享效果很好)。

我的音频文件位于原始文件夹中,我尝试使用 .mp3、.wav 和 .m4a 扩展名,但如果我尝试在电报上共享音频,我会得到“不支持的附件”的 toast。

这是我的分享方式:

Intent share = new Intent(Intent.ACTION_SEND);
share.setType("audio/m4a");
share.putExtra(Intent.EXTRA_STREAM, Uri.parse("android.resource://" + ctx.getPackageName() + "/" + R.raw.my_audio));
startActivity(Intent.createChooser(share, "Share on:"));

【问题讨论】:

    标签: android audio share telegram


    【解决方案1】:

    使用“Uri.fromFile”,这对我有用。

                    File file = new File(filePath);
                    Uri uri = Uri.fromFile(file);
                    Intent share = new Intent(Intent.ACTION_SEND);
                    share.setType("audio/*");
                    share.putExtra(Intent.EXTRA_STREAM, uri);
                    startActivity(Intent.createChooser(share,
                            "به اشتراک گذاشتن فایل"));
    

    【讨论】:

      【解决方案2】:

      许多 Android 应用无法处理使用不当的 android.resource:// 方案。如果您想要更好的兼容性,请将音频写入文件并共享,或使用ContentProvider(例如my StreamProvider)通过content:// 方案提供它。

      【讨论】:

      • 如何使用 ContentProvider?
      • @genialFactory:您必须编写一个将资源内容从openFile()openAssetFile() 传回的管道。 This sample app 显示了基本概念,尽管它使用 assets/ 中的文件而不是原始资源。
      猜你喜欢
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多