嗨,我是Android开发和游戏的新手.我目前有一个开放式过场动画,这是一个视频观看,但如果用户从偏好菜单中选择静音,我想静音.问题是我不知道如何在没有实际完全关闭视频的情况下将视频中的音乐静音!
在我的应用程序中,如果用户旋转手机,我不想在启动后重新启动媒体播放器.如何在旋转时阻止重新启动应用程序,因为它会停止正在播放的正在运行的声音文件?
请告诉我需要添加的代码以及添加位置.
谢谢.
真的,Emad
我有一个服务,它接收一个音频文件并与媒体播放器播放,这就是我打电话给我的服务
private void playAudio(String url) throws Exception{
Intent music = new Intent(this,MusicService.class);
music.putExtra("paths", path);
startService(music);
}
Run Code Online (Sandbox Code Playgroud)
这是我的服务
class MusicService extends Service implements OnCompletionListener {
MediaPlayer mediaPlayer;
String musicFile;
@Override
public void onCreate() {
mediaPlayer = new MediaPlayer();
mediaPlayer.setOnCompletionListener(this);
Toast.makeText(getApplicationContext(), "hello", Toast.LENGTH_LONG).show();
}
@Override
public int onStartCommand(Intent intent, int flags, int startId) {
Bundle e = intent.getExtras();
musicFile= e.getString("paths");
try {
mediaPlayer.prepare();
mediaPlayer.setDataSource(musicFile);
} catch (IllegalArgumentException i) {
// TODO Auto-generated catch block
i.printStackTrace();
} catch (IllegalStateException i) {
// TODO …Run Code Online (Sandbox Code Playgroud) 所以我想知道在我的网站上播放mp3的最佳方式是...
我有点想要它的功能和看起来像itunes方法 - 一个简单的播放和停止按钮.像这样:

我该怎么做?我真的不想嵌入一名球员.
谢谢您的帮助!添加到书签
我绝对需要你帮助的人......就像真的一样.我的笔记本电脑被盗了,我没有备份我一年前制作的pyqt声子视频播放器.我忘记了如何以及如何重新创建它.
我只知道要做的一些关键事情.所以请帮帮我.
从我记忆中我需要
如果那里有人有一个工作样本python视频播放器,你能和我分享一下吗?
我现在正在尝试,我的样本根本不起作用
from PyQt4.phonon import Phonon
media_source = phonon.Phonon.MediaSource("C:\\Sample.avi")
self.ui.videoPlayer.load(media_source)
self.ui.videoPlayer.play()
Run Code Online (Sandbox Code Playgroud)
请帮我.非常感谢你们.
我正在使用python 2.6和qt 4.9版.现在我在虚拟机Windows XP上编码
编辑:有这个问题的以下示例,但..加载文件时出现此错误.
"由于引脚未连接,无法执行操作"
这可能是因为我在Ubuntu中使用虚拟盒子?
这仅适用于所有版本的Android中的某些特定视频文件(例如此文件),但是在iOS或WP甚至使用Vitamio插件在Andorid中播放时,它是可搜索的。我认为流视频文件必须满足一些条件才能被查找。那正确吗?如果是这样,请告诉我什么条件才能制作流式视频。谢谢。
当我尝试寻找上述文件的未缓冲位置时,这是错误日志。
12-06 12:01:50.705: E/MediaPlayer(909): Error (1,-1007)
Run Code Online (Sandbox Code Playgroud) 我已经浏览了SDK(RandomMusicPlayer)提供的RemoteControlClient示例程序.但是,我不能为我的生活弄清楚如何使用我自己的音乐播放器获得锁屏控制RemoteControlClient.这就是我的音乐播放器服务:
//Request audio focus for playback
int result = audioManager.requestAudioFocus(audioFocusChangeListener,
AudioManager.STREAM_MUSIC,
AudioManager.AUDIOFOCUS_GAIN);
//Check if audio focus was granted. If not, stop the service.
if (result!=AudioManager.AUDIOFOCUS_REQUEST_GRANTED) {
//Stop the service.
stopSelf();
Toast.makeText(mContext, R.string.close_other_audio_apps, Toast.LENGTH_LONG).show();
}
ComponentName remoteControlsReceiver = new ComponentName(getPackageName(),
HeadsetButtonsReceiver.class.getName());
if (mRemoteControlClientCompat == null) {
Intent remoteControlIntent = new Intent(Intent.ACTION_MEDIA_BUTTON);
remoteControlIntent.setComponent(remoteControlsReceiver);
mRemoteControlClientCompat = new RemoteControlClientCompat(PendingIntent.getBroadcast(this, 0, remoteControlIntent, 0));
RemoteControlHelper.registerRemoteControlClient(audioManager, mRemoteControlClientCompat);
audioManager.registerMediaButtonEventReceiver(remoteControlsReceiver);
}
Run Code Online (Sandbox Code Playgroud)
这基本上就是SDK示例所做的(据我所知).我已经确认我的应用程序能够获得音频焦点.我完成了我的作业,并且知道需要音频专注才能使用.我到底错过了什么?任何指向正确方向的人都非常感激.:)
如何阻止MediaPlayer相互播放?我希望应用程序中的媒体播放器只播放1个声音.现在,当我播放1个声音,然后播放另一个声音时,它们同时播放.我希望当我播放第二个声音时,第一个停止,所以它们不会在彼此之上播放.我的代码:
mp=MediaPlayer.create(this, R.raw.barets);
ImageButton dugme1 = (ImageButton) findViewById(R.id.dugme1);
dugme1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp.isPlaying()){
mp.pause();
mp.seekTo(0);
}
else{
mp.start();
}
}
});
mp2=MediaPlayer.create(this, R.raw.dragunov);
ImageButton dugme2 = (ImageButton) findViewById(R.id.dugme2);
dugme2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp2.isPlaying()){
mp2.pause();
mp2.seekTo(0);
}
else{
mp2.start();
}
}
});
mp3=MediaPlayer.create(this, R.raw.g3s);
ImageButton dugme3= (ImageButton) findViewById(R.id.dugme3);
dugme3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if (mp3.isPlaying()){
mp3.pause();
mp3.seekTo(0);
}
else{
mp3.start();
}
}
});
mp4=MediaPlayer.create(this, R.raw.psg1); …Run Code Online (Sandbox Code Playgroud) 我有一个GridView与你的位置,我在onCreate上做案例,所以,
case position = 1播放audio1,
case position = 2播放audio2
活动:
public class HomeEnglishAnimalsActivity extends ActionBarActivity {
MediaPlayer player;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_english_animals);
android.support.v7.app.ActionBar actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(true);
GridView gridView = (GridView) findViewById(R.id.gridviewHomeEnglishAnimals);
gridView.setAdapter(new AdapterHomeEnglishAnimalsActivity(this));
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
switch (position) {
case 0:
if (player != null)
{
player.stop();
player.release();
}
player.create(HomeEnglishAnimalsActivity.this, R.raw.bee).setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mediaPlayer.start();
} …Run Code Online (Sandbox Code Playgroud) 我有一些代码(在WPF应用程序中),当一些文本被复制到剪贴板时,它将使用SpeechSynthesizer读取文本(我的所有代码都在这篇文章的底部).
但是以这种方式播放音频不允许我暂停,倒带或播放等.
所以我想我会使用SpeechSynthesizer来保存一个wav文件.然后使用MediaPlayer类,因为它很容易暂停,播放等.
但是,保存文件后,文件无法在我的媒体播放器中播放.文件很好,手动运行时效果很好.我想使用MediaPlayer,因为我已经为它编写了一些代码.
更新
使用此页面上的示例,我可以播放我的wav文件.我不知道为什么文件不能在我的代码中运行?在上面的示例中,我知道他们正在使用媒体元素,并且在我的代码中尝试过它没有任何区别.我不是只播放视频音频,因此我使用的是MediaPlayer.
这是我目前的所有代码.文件正在保存,但据我所知,媒体播放器没有播放任何内容,我的电脑音量非常高.
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Interop;
using System.IO;
using System.Speech.Synthesis;
using System.Windows.Controls.Primitives;
using System.Windows.Threading;
namespace CSWPFClipboardViewer
{
/// <summary>
/// Main window of the application, also will be used to get clipboard messages.
/// </summary>
public partial class MainWindow : Window
{
#region Private fields
/// <summary>
/// Next clipboard viewer window
/// </summary>
private IntPtr hWndNextViewer;
/// <summary>
/// The <see cref="HwndSource"/> …Run Code Online (Sandbox Code Playgroud)