我用它<p:media>来显示静态PDF内容.
<p:media value="/resource/test.pdf"
width="100%" height="300px" player="pdf">
</p:media>
Run Code Online (Sandbox Code Playgroud)
如何更改它以显示动态内容?
首先,我是一个新手,其次我知道有一个解决方案"如何从Android中的专辑中获取歌曲?" 但这是通过使用游标和MediaStore,我已经使用MediametadataRetriever,它完全不同我没有使用哈希映射和所有.....所以它有点困难....请任何解决方案为此???不使用hashmaps和mediastore ???
这是我用来显示所有歌曲及其艺术家的代码..........
import java.io.File;
import java.io.FileFilter;
import java.io.FilenameFilter;
import java.io.Serializable;
import java.lang.reflect.Array;
import java.util.ArrayList;
import java.util.List;
import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.media.MediaMetadataRetriever;
import android.media.MediaPlayer;
import android.net.Uri;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.ListFragment;
import android.util.DisplayMetrics;
import android.util.TypedValue;
import android.view.ContextMenu;
import android.view.ContextMenu.ContextMenuInfo;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.AdapterView.AdapterContextMenuInfo;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class FragmentSongs extends Fragment implements Serializable {
AdapterView.AdapterContextMenuInfo info;
@Override
public …Run Code Online (Sandbox Code Playgroud) 我想让我的网站响应.但是,当我使用另一个媒体查询时,很多东西都行不通.例如:
(普通CSS)
div#divName
{
font-size:1em;
}
Run Code Online (Sandbox Code Playgroud)
(媒体查询代码)
@media screen and (max-width: 320px)
{
div#divName
{
font-size:.5em;
}
}
Run Code Online (Sandbox Code Playgroud)
这不起作用.只有在我背后使用"!important"时它才有效.但我不知道这是正确还是"错误".谁能告诉我如何解决这个问题?
如何在没有元数据的情况下创建仅媒体数据的校验和,以获得媒体文件的稳定标识.优选地是具有支持多种格式的库的跨平台方法.例如vlc,ffmpeg或mplayer.
(媒体文件应该是普通格式的音频和视频,图像也很好)
我刚刚开始使用Xuggle,我已将所有内容下载到Eclipse中,并将其包含在Referenced Libraries中,但我做了一个非常简单的测试,
package com.xuggle.xuggler.demos;
import com.xuggle.xuggler.IContainer;
public class getContainerInfo {
public static void main (String [] args){
IContainer myContainer = IContainer.make();
}
}
Run Code Online (Sandbox Code Playgroud)
它会引发一堆错误,
2011-06-12 16:26:52,142 [main] ERROR com.xuggle.ferry.JNILibraryLoader - Could not load library: xuggle-xuggler; version: 3; Visit http://www.xuggle.com/xuggler/faq/ to find common solutions to this problem
Exception in thread "main" java.lang.UnsatisfiedLinkError: no xuggle-xuggler in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1734)
at java.lang.Runtime.loadLibrary0(Runtime.java:823)
at java.lang.System.loadLibrary(System.java:1028)
at com.xuggle.ferry.JNILibraryLoader.loadLibrary0(JNILibraryLoader.java:265)
at com.xuggle.ferry.JNILibraryLoader.loadLibrary(JNILibraryLoader.java:168)
at com.xuggle.xuggler.XugglerJNI.<clinit>(XugglerJNI.java:19)
at com.xuggle.xuggler.IContainer.<clinit>(IContainer.java:1457)
at com.xuggle.xuggler.demos.getContainerInfo.main(getContainerInfo.java:9)
Run Code Online (Sandbox Code Playgroud) 我正在开发一个移动网站,我遇到了一个有趣的问题.
我正在我的桌面以及我的摩托罗拉Droid(Android 2.2)上进行测试.我设置了媒体查询以加载3种不同的样式表(320px宽,480px宽和640px宽).我注意到我的Droid正在加载320px样式表,尽管有480x854px的屏幕.我设置了一个小JS来找出屏幕宽度是多少,并报告320px.
Android浏览器是否在HDPI屏幕上的MDPI中运行?它正在适当地缩放320px以填满屏幕,但我有点困惑为什么会发生这种情况.
另外,我的页面上有<meta name ="viewport"content ="width = device-width">,所以这不是问题.
我正在研究setNextMediaPlayer()制作无间隙播放音乐播放器的方法.
setNextMediaPlayer()是一个很好的方法来启用无间隙播放,但我有一个问题是刷新下一首歌的信息到布局.当我使用setNextMediaPlayer()方法时,我不需要使用start()方法来开始播放,因此当播放完全开始时无法捕捉到.或者,我把我的信息刷新方法,onCompletion但它有一个限制.
public void onCompletion(MediaPlayer mp) {
Log.d(TAG, "onCompletion():");
displayInfoSingle(nextItem);//refresh albumart and song info.
}
Run Code Online (Sandbox Code Playgroud)
是否有任何侦听器检测MediaPlayer对象何时开始播放?
在Tarun Varshney的回答后添加>>>
我用setNextMediaPlayer()下面打mp2旁边mp1的无缝连接.
mp2 = new MediaPlayer();
mp2.setDataSource(nextItem.getUri());
mp2.setOnCompletionListener(this);
mp2.prepare();
mp1.setNextMediaPlayer(mp2);
Run Code Online (Sandbox Code Playgroud)
mp2已经可以了,因为播放之前准备**mp2.prepare();**所以onPreparedListener也不会在适当的时间我想被调用.是否有任何其他的方法来设置mp2为一个参数setNextMediaPlayer的mp1?
我是Java和JavaFX的新手,我花了几年时间用QT开发Python,现在我正在用Java和JavaFX开发.
我正在开发一个程序,播放用户设置时间的音乐文件,然后停止.就这样,我需要从媒体对象获取持续时间以告诉音频何时停止(基于用户时间输入),但是,媒体对象上的getDuration()方法总是返回UNKNOWN.
我在Windows 8.1和openSuSE 13.2上使用JDK8u25(最新的稳定版本)(两者都有相同的问题):
File filestring = new File("my/file/dir/file.mp3")
Media file = new Media(filestring.toURI().toString());
file.getDuration(); // Returns UNKNOWN on both wav and mp3 files
file.getDuration().toMinutes()) // Also tested with toHours() toSeconds(), toMilli()...
// Above returns NaN because the file's duration is unknown
Run Code Online (Sandbox Code Playgroud)
就像一个测试,我把我的整个mp3音乐收藏(1000多首歌曲同时包含CBR和VBR)并让java遍历每个文件,所有这些都说明持续时间是未知的.我也试过来自多个不同来源的wav文件(只是为了确保它不是mp3格式),看看是否改变了......没有; 只有UNKNOWN持续时间.我还检查了以确保标签在适当位置,其他每个程序都说这些文件的文件属性中的长度或持续时间都很好.
奇怪的是,当我将Media对象传递给MediaPlayer时,文件播放效果非常好.虽然我可以使用外部库来获取长度,但是看到整个程序使用java和javafx库,这将更容易和更简化.
我想将元数据设置为MP4文件.
我通过以下方式创建MP4文件:
new MediaMuxer(mPath, MediaMuxer.OutputFormat.MUXER_OUTPUT_MPEG_4)
Run Code Online (Sandbox Code Playgroud)
和文件有元:
Title: unknown
Artist: unknown
Album: unknown
Comment:
...
Run Code Online (Sandbox Code Playgroud)
类似于:这里
我发现对于API21 +我可以通过以下方式制作元数据:MediaMetadata.Builder但是如何将元数据保存到创建的MP4文件?
请不要extern图书馆.
谢谢.
我已经制作了android音频应用程序.现在有些用户报告说,当他们通过汽车蓝牙连接设备时,应用程序没有响应媒体按钮(播放,暂停,下一个).
与此同时,我用蓝牙扬声器测试了应用程序 - 播放/暂停按钮可以根据需要工作.
车内蓝牙音箱和蓝牙收音机有什么区别吗??? 这很奇怪
我正在使用ExoPlayer并使用此代码处理媒体按钮:
Intent mediaButtonIntent = new Intent(Intent.ACTION_MEDIA_BUTTON, null, getApplicationContext(), MediaButtonReceiver.class);
mSession.setMediaButtonReceiver(PendingIntent.getBroadcast(getApplicationContext(), 0, mediaButtonIntent, 0));
MediaSessionConnector mediaSessionConnector = new MediaSessionConnector(mSession, new DefaultPlaybackController(), false, null);
mediaSessionConnector.setQueueNavigator(new QueueNavigatorAdapter() {
@Override
public void onSkipToPrevious(Player player) {
playPrevious();
}
@Override
public void onSkipToNext(Player player) {
playNext();
}
});
mediaSessionConnector.setPlayer(mPlayer, null);
Run Code Online (Sandbox Code Playgroud)
和
mPlayer.prepare(source);
mSession.setActive(true);
mPlayer.setPlayWhenReady(true);
Run Code Online (Sandbox Code Playgroud)
我知道AudioManager.registerMediaButtonEventReceiver()和处理KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE等但我确信mSession.setMediaButtonReceiver && MediaSessionConnector为我做了.
也许我错了,这还不够?
minSdkVersion 21