我想结合默认的VideoView和手势侦听器,
如果用户向左滑动则歌曲向后播放或向右滑动则歌曲向前播放,我想在 VideoView 上实现同样的方法。
通过以下代码打开默认媒体播放器:
Intent intent = new Intent("android.intent.action.MUSIC_PLAYER");
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
那么如何添加手势监听器..?
我一直在尝试流式传输URL使用ExoPlayer. 网址:
STREAM_URL_1 = " http://storage.googleapis.com/exoplayer-test-media-0/play.mp3 "
STREAM_URL_2 = " https://s3-ap-southeast-1.amazonaws.com/ok.talk.channels/zakirkhan/Zakir+khan+-+when+my+father+took+my+gf%27s+call.aac "
两个 URL 都可以播放,但我无法获得getDuration()STREAM_URL_2 的 .aac 文件。.mp3 有效。
以下是我的做法。如何获取getDuration()第二个 URL。即使seekTo()如果不工作getDuration()不工作。
我应该做出什么改变?我需要改变任何Extractor吗?
player = ExoPlayer.Factory.newInstance(RENDERER_COUNT, MIN_BUFFER_MS, MIN_RE_BUFFER_MS);
playerControl = new PlayerControl(player);
Allocator allocator = new DefaultAllocator(BUFFER_SEGMENT_SIZE);
private static final String STREAM_URL = "http://storage.googleapis.com/exoplayer-test-media-0/play.mp3";
uri = Uri.parse(STREAM_URL);
// Build the video and audio renderers.
DefaultBandwidthMeter bandwidthMeter = new DefaultBandwidthMeter(player.getMainHandler(),
null);
String userAgent = Util.getUserAgent(this, "MyMediaPlayer");
DataSource dataSource …Run Code Online (Sandbox Code Playgroud) android audio-player android-music-player android-mediaplayer exoplayer
使用 Linux Mint 17.1 和 ALSA。我有两个产生相同声音的 wav 文件:一个使用 pcm_s16le,另一个使用 pcm_s24le。每个图腾/视频都能正确播放。我设置硬件参数并使用 pcm_s16le 播放的代码工作正常。但是,当我尝试调整这些参数以适应 pcm_s24le 时,如下所示:
snd_pcm_hw_params_set_format(audioHandle, audioParams, SND_PCM_FORMAT_S24_LE);
Run Code Online (Sandbox Code Playgroud)
[我只是用“SND_PCM_FORMAT_S24LE”替换“SND_PCM_FORMAT_S16_LE”]。对 snd_pcm_writei 的调用是
snd_pcm_writei(m_audioHandle, *m_pAudioFrameData, *m_pAudioFrameSize / (m_nChannels * m_bitsPerSample / 8);
Run Code Online (Sandbox Code Playgroud)
我听到的大部分是垃圾声音(嘶嘶声、断断续续的声音),但带有一丝正确的声音。
本质上我的问题是,如何将适用于 SND_PCM_FORMAT_S16_LE 的代码转换为适用于 SND_PCM_FORMAT_S24_LE 的代码?
我想循环一个音频文件并使用这个代码(我的原始问题和解决方案)和这个代码(Qt C示例)的组合设法创建这个:
from PyQt5.QtCore import *
from PyQt5.QtMultimedia import *
import sys
if __name__ == "__main__":
app = QCoreApplication(sys.argv)
playlist = QMediaPlaylist()
url = QUrl.fromLocalFile("./sound2.mp3")
playlist.addMedia(url)
playlist.setPlaybackMode(QMediaPlaylist.Loop)
content = playlist()
player = QMediaPlayer()
player.setMedia(content)
player.play()
app.lastWindowClosed.connect(player.stop)
app.exec()
Run Code Online (Sandbox Code Playgroud)
但是,此代码不起作用,报告的错误是:
类型错误:参数不匹配任何重载调用:addMedia(self, QMediaContent):参数 1 具有意外类型 'QUrl' addMedia(self, object):参数 1 具有意外类型 'QUrl'
我的代码哪里出错了?非常感谢任何帮助。
我正在使用 flutter 插件音频播放器:^0.7.8,以下代码在 Android 中有效,但在 IOS 中无效。我在真实的 ios 设备中运行代码并单击按钮。它假设播放 mp3 文件,但根本没有声音。请帮助解决这个问题。
我已经设置了 info.plist
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
Run Code Online (Sandbox Code Playgroud)
这里是从控制台打印出来的:
这里有我的代码:
class _MyHomePageState extends State<MyHomePage> {
AudioPlayer audioPlugin = AudioPlayer();
String mp3Uri;
@override
void initState() {
AudioPlayer.logEnabled = true;
_load();
}
Future<Null> _load() async {
final ByteData data = await rootBundle.load('assets/demo.mp3');
Directory tempDir = await getTemporaryDirectory();
File tempFile = File('${tempDir.path}/demo.mp3');
await tempFile.writeAsBytes(data.buffer.asUint8List(), flush: true);
mp3Uri = tempFile.uri.toString();
print('finished …Run Code Online (Sandbox Code Playgroud) 我想知道如何使用 ffmpeg 来实现声音被完全破坏的扬声器效果。
我在 ffmpeg 上尝试了一堆不同命令的组合,我得到的最接近的是以下(我使用超级均衡器,然后使音量超高):
import ffmpeg
(
ffmpeg
.input('shark.wav')
.filter("superequalizer", 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20)
.filter("volume", 10)
.output('output_speaker.wav')
.run()
)
Run Code Online (Sandbox Code Playgroud)
我正在使用 python 包装器,但这是等效的命令行:
ffmpeg -i shark.wav -af "superequalizer=1b=20:2b=20:3b=20:4b=20:5b=20:6b=20:7b=20:8b=20:9b=20:10b=20:11b=20:12b=20:13b=20:14b=20:15b=20:16b=20:17b=20:18b=20,volume=10" output_speaker.wav
Run Code Online (Sandbox Code Playgroud)
上述问题是,它对声音还不是很大的文件(例如录制的音频)没有任何作用,并且大多数时候音频实际上只是最终被削波,然后变得超级柔和。
有人对如何实现这种效果有建议吗?谢谢!
我的应用程序包含一些背景音乐。我希望能够在用户离开应用程序时将其关闭。我可以通过使用以下方法来部分完成此操作WillPopScope:
Future<bool> _willPopCallback() async {
player.stop();
return true;
}
Run Code Online (Sandbox Code Playgroud)
但这不是正确的做法,因为它仅在用户单击 时才起作用back-button,而不是home-button。这是一个很大的问题,因为这样音乐就会一直在后台播放。我该如何解决?
我在Android中创建了一个音乐播放器应用程序.现在,当在手机的文件管理器中选择音乐文件时,我希望我的应用程序显示为"使用完整操作"弹出窗口中的一个选项.我的想法是使用意图过滤器来做到这一点,但我不知道我需要提供什么动作,类别或数据.如何为此创建一个intent过滤器?
我在这里也看到了一个相关的问题:如何制作一个用于流式传输MP3文件的intent-filter?但我的不是流媒体,我只是从文件播放音乐.
先感谢您.
如何判断javafx.scene.media.MediaPlayer是否正在播放?最好不要对构建路径进行任何外部导入或添加.如果这是不可能的,那么我可以使用任何自包含的库吗?我正在ARM CPU上安装此软件,所以我试图使这段代码尽可能简约.我只会使用这个框架播放音乐文件,主要是MP3.有关如何判断玩家是否正在使用此库或其他库播放音乐的任何建议?
我有几个与Sun,音频播放器和声音输入/输出相关的问题
为什么sun.audio.AudioPlayer包不是Java API的一部分?一些信息在这里:http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6b14/sun/audio/AudioPlayer.java但它仍然是默认JDK构建的一部分我我正在使用.
我已经尝试过使用JMF,花了半天时间用螺丝钉绕它,但没有真正有用.我设法导入jmf.jarEclipse我尝试了一个演示脚本,它仍然吐出像无人业务一样的错误.考虑到现在放弃了?!?然而,Java提供了一个相对较新版本的链接:http://www.oracle.com/technetwork/java/javase/download-142937.html我有点担心但是如何在页面底部写下面的内容"假,,,,,,,"?
您认为什么是用于音频I/O和操作的最佳软件包?
我只是想在一个项目上工作,虽然MP3播放器是一个很好的起点,因为我可以做一点摆动.然而它似乎相当困难,因为从我所看到的Java并不是非常热衷于制作mp3和音频操作包.