我是 android 新手,我已经编写了链接媒体播放器播放歌曲的代码
我创建了一个文件夹 path="//localhost/Android/sd/vande.mp3 文件存在
public class MainActivity extends Activity {
Button start,pause,stop;
boolean flag;
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    start=(Button)findViewById(R.id.button1);
    pause=(Button)findViewById(R.id.button2);
    stop=(Button)findViewById(R.id.button3);
    final MediaPlayer mp=new MediaPlayer();
    try{
    mp.setDataSource(Environment.getExternalStorageDirectory().getPath()+"/Android/music/vande.mp3");
    mp.prepare();
    }catch(Exception e){e.printStackTrace();}
    mp.setOnPreparedListener(new MediaPlayer.OnPreparedListener() 
    { 
        public void onPrepared(MediaPlayer player) 
        {  
            //mp.start();
            flag = true; 
        } 
    });
    if(flag ==true)
    {
        start.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mp.start();
            }
        });
    }
    else
    {
        stop.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                mp.stop();
            }
        }); …Run Code Online (Sandbox Code Playgroud) 我为每个 Gstreamer 类型编写了 C++ 包装器。它们简单直观,所以我认为不需要在此处发布它们的实现(尽管我可以在需要时发布它们(也许在 github 上))。
我面临的问题是我开始播放视频(并同时使用 gst tee 元素将其保存到文件中)......在播放时,我暂停(来自不同的线程),效果很好。但是,当我想恢复它时,它不起作用:
void pause()
{
    _pipeline.state(GST_STATE_PAUSED)
}
void resume()
{
    _pipeline.state(GST_STATE_PLAYING);
}
Run Code Online (Sandbox Code Playgroud)
这是play()我创建管道并将其状态设置为 GST_STATE_PLAYING的函数。
int play(std::string const & source_path, std::string const & save_as_file)
{
    gst::element source(source_path.substr(0,4) == "http" ? "souphttpsrc" : "filesrc", "media-source");
    gst::element demuxer("decodebin", "decoder");
    gst::element vconv("videoconvert",  "vconverter");
    gst::element vsink("autovideosink", "video-output");
    gst::element aconv("audioconvert",  "aconverter");
    gst::element asink("autoaudiosink", "audio-output");
    gst::element filesink("filesink", "file-sink");
    gst::element fq("queue", "file-queqe");
    gst::element tee("tee", "media-tee");
    gst::element aq("queue", "audio-queue");
    gst::element vq("queue", "video-queue");
    source.set("location", source_path.c_str());
    gst::bus bus = _pipeline.bus(); …Run Code Online (Sandbox Code Playgroud) 我在 Objective-C 中有一个问题,我正在开发一个 iOS 应用程序,该应用程序应该播放一组特定的 mp3 文件 -242 个 mp3 文件,所以有人可以告诉我播放它们的最佳方式是什么,我意思是我应该把它们放在一个服务器上,让它们都是本地的还是什么?以及我应该如何在 Xcode 中对它们进行编码。
我尝试仅使用一个按钮来播放和暂停音乐。当按下按钮时,音乐开始播放,但是当尝试暂停音乐时,出现了问题。我做错了什么?
我收到以下错误:
可能未处理的 Promise Rejection (id:0): TypeError: Sound.pauseAsync 不是函数。
这是我的音频功能
    const { sound } = await Audio.Sound.createAsync(
      { uri: props.songURL }
    );
      await Audio.setIsEnabledAsync(true);
      setSound(songs);
      setSongs(userSongPosts)
    if (isPlaying === true) {
        try {
            await sound.pauseAsync();
            setIsPlaying(false);
          } catch (error) {
            console.error(error);
          }
    } else {
        try {
            await sound.playAsync(); 
            setIsPlaying(true);
          } catch (error) {
            console.error(error);
          }
    }
  }
Run Code Online (Sandbox Code Playgroud)
这是我的按钮
        <TouchableOpacity
              style={styles.profilContainer}
              onPress={() => playSound() }>
            <Text>{isPlaying ? 'Pause' : 'Play'}</Text>
            <View style={styles.buttonView}>
            <Text style={styles.textButton}>{props.submitText}</Text>
            <MatetrialCommunityIcons
              style={styles.iconStyles}
              name={props.icon}
            />
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用媒体播放器播放资源文件夹中的视频.我先把它复制到SD卡上.详细代码如下.
活动
public class ActivityMediaPlayer extends Activity implements Callback, OnBufferingUpdateListener, OnCompletionListener, OnPreparedListener{
 private SurfaceView mPreview;
 private SurfaceHolder holder;
 private MediaPlayer mMediaPlayer;
 private int mVideoWidth;
 private int mVideoHeight;
 private static final String TAG = "MediaPlayerDemo";
 File fvvVideoFile;
@Override
public void onCreate(Bundle icicle) { 
    super.onCreate(icicle);
    setContentView(R.layout.lt_mediaplayer);         
    mPreview = (SurfaceView) findViewById(R.id.surface);
    holder = mPreview.getHolder();
    holder.addCallback(ActivityMediaPlayer.this);
    holder.setType(SurfaceHolder.SURFACE_TYPE_PUSH_BUFFERS);     
    String FICHIER_BLOW = "testvideo.mp4"; 
    fvvVideoFile=new File(Environment.getExternalStorageDirectory(), FICHIER_BLOW); 
    BufferedOutputStream bufEcrivain;
    try {
        bufEcrivain = new BufferedOutputStream((new FileOutputStream(fvvVideoFile)));
        BufferedInputStream VideoReader = new BufferedInputStream(getResources().getAssets().open("video/testvideo.mp4"));
        byte[] buff = new byte[32 * …Run Code Online (Sandbox Code Playgroud) 我使用以下代码暂停播放音频文件.但它并没有停顿.代码有什么问题.任何建议......
boolean play=false;
int flag=0;
mPlay.setOnClickListener(new OnClickListener() {
        public void onClick(View v) {
            mPlayer = new MediaPlayer();
            if(play==false)
            {
                flag++;
                if(flag==1)
                {
                    playAudio();
                }
                else
                {
                    mPlayer.start();
                }
                mPlay.setText("Pause");
                play=true;
            }
            else if(play==true)
            {
                mPlayer.pause();
                mPlay.setText("Play");
                play=false;
            }
            mPlayer.setOnCompletionListener(new OnCompletionListener() {
                public void onCompletion(MediaPlayer mp) {
                    // TODO Auto-generated method stub
                    play=false;
                    flag=0;
                }
            });
Run Code Online (Sandbox Code Playgroud) 我正在android上构建一个无线电应用程序,我想知道当我做好准备时如何使我的"播放"按钮可以点击?MediaPlayer
我想通过Android服务流式传输exoplayer版本rc2.xx的在线广播.
我一直试图在线学习所有教程,但它们都是2.xx版之前的版本,其中很多都是视频流相关的(我不需要).
有没有人有一个非常好的教程?
android media-player android-mediaplayer exoplayer exoplayer2.x
media-player ×10
android ×5
c++ ×2
mp3 ×2
azure ×1
c ×1
exoplayer ×1
exoplayer2.x ×1
expo ×1
gstreamer ×1
ios ×1
java ×1
objective-c ×1
react-native ×1
video ×1
windows ×1
xcode ×1