本文整理汇总了Java中org.videolan.vlc.MediaDatabase.getInstance方法的典型用法代码示例。如果您正苦于以下问题:Java MediaDatabase.getInstance方法的具体用法?Java MediaDatabase.getInstance怎么用?Java MediaDatabase.getInstance使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类org.videolan.vlc.MediaDatabase
的用法示例。
在下文中一共展示了MediaDatabase.getInstance方法的12个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: onCheckedChanged
import org.videolan.vlc.MediaDatabase; //导入方法依赖的package包/类
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
final MediaDatabase dbManager = MediaDatabase.getInstance();
File item = (File) buttonView.getTag();
if (item == null)
return;
if (buttonView.isEnabled() && isChecked) {
dbManager.addDir(item.getPath());
File tmpFile = item.getParentFile();
while (tmpFile != null && !tmpFile.getPath().equals("/")) {
dbManager.removeDir(tmpFile.getPath());
tmpFile = tmpFile.getParentFile();
}
} else {
dbManager.removeDir(item.getPath());
}
}
示例2: onCheckedChanged
import org.videolan.vlc.MediaDatabase; //导入方法依赖的package包/类
@Override
public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
final MediaDatabase dbManager = MediaDatabase.getInstance(buttonView.getContext());
File item = (File) buttonView.getTag();
if (item == null)
return;
if (buttonView.isEnabled() && isChecked) {
dbManager.addDir(item.getPath());
File tmpFile = item.getParentFile();
while (tmpFile != null && !tmpFile.getPath().equals("/")) {
dbManager.removeDir(tmpFile.getPath());
tmpFile = tmpFile.getParentFile();
}
} else {
dbManager.removeDir(item.getPath());
}
}
示例3: toggleFavorite
import org.videolan.vlc.MediaDatabase; //导入方法依赖的package包/类
public void toggleFavorite() {
MediaDatabase db = MediaDatabase.getInstance();
if (db.networkFavExists(mCurrentMedia.getUri()))
db.deleteNetworkFav(mCurrentMedia.getUri());
else
db.addNetworkFavItem(mCurrentMedia.getUri(), mCurrentMedia.getTitle());
getActivity().supportInvalidateOptionsMenu();
}
示例4: updateMediaDirs
import org.videolan.vlc.MediaDatabase; //导入方法依赖的package包/类
public void updateMediaDirs(){
if (mDbManager == null)
mDbManager = MediaDatabase.getInstance();
if (mMediaDirsLocation == null)
mMediaDirsLocation = new LinkedList<String>();
else
mMediaDirsLocation.clear();
List<File> mediaDirs = mDbManager.getMediaDirs();
for (File dir : mediaDirs){
mMediaDirsLocation.add(dir.getPath());
}
mCustomDirsLocation = Arrays.asList(CustomDirectories.getCustomDirectories());
}
示例5: showSearchHistory
import org.videolan.vlc.MediaDatabase; //导入方法依赖的package包/类
private void showSearchHistory() {
// Add header to the history
String headerText = getString(R.string.search_history);
showListHeader(headerText);
MediaDatabase db = MediaDatabase.getInstance();
mHistoryAdapter.clear();
ArrayList<String> history = db.getSearchhistory(20);
for (String s : history)
mHistoryAdapter.add(s);
mHistoryAdapter.notifyDataSetChanged();
setListAdapter(mHistoryAdapter);
}
示例6: onListItemClick
import org.videolan.vlc.MediaDatabase; //导入方法依赖的package包/类
@Override
public void onListItemClick(ListView l, View v, int position, long id) {
if (getListAdapter() == mHistoryAdapter) {
String selection = ((TextView) v.findViewById(android.R.id.text1)).getText().toString();
mSearchText.setText(selection);
mSearchText.setSelection(selection.length());
mSearchText.requestFocus();
} else if (getListAdapter() == mResultAdapter) {
// add search text to the database (history)
MediaDatabase db = MediaDatabase.getInstance();
db.addSearchhistoryItem(mSearchText.getText().toString());
// open media in the player
Media item = (Media) getListView().getItemAtPosition(position);
if (item != null) {
if (item.getType() == Media.TYPE_VIDEO) {
VideoPlayerActivity.start(getActivity(), item.getLocation());
} else {
ArrayList<String> arr = new ArrayList<String>();
for (int i = 0; i < getListAdapter().getCount(); i++) {
Media audioItem = (Media) getListAdapter().getItem(i);
if (audioItem.getType() == Media.TYPE_AUDIO)
arr.add(audioItem.getLocation());
}
AudioServiceController.getInstance().load(arr, arr.indexOf(item.getLocation()));
return;
}
}
super.onListItemClick(l, v, position, id);
}
}
示例7: append
import org.videolan.vlc.MediaDatabase; //导入方法依赖的package包/类
/**
* Append to the current existing playlist
*/
@Override
public void append(List<String> mediaLocationList) throws RemoteException {
if (!hasCurrentMedia())
{
load(mediaLocationList, 0, false);
return;
}
MediaDatabase db = MediaDatabase.getInstance();
for (int i = 0; i < mediaLocationList.size(); i++) {
String location = mediaLocationList.get(i);
Media media = db.getMedia(location);
if(media == null) {
if (!validateLocation(location)) {
showToast(getResources().getString(R.string.invalid_location, location), Toast.LENGTH_SHORT);
continue;
}
Log.v(TAG, "Creating on-the-fly Media object for " + location);
media = new Media(mLibVLC, location);
}
mLibVLC.getMediaList().add(media);
}
AudioService.this.saveMediaList();
determinePrevAndNextIndices();
executeUpdate();
}
示例8: onOptionsItemSelected
import org.videolan.vlc.MediaDatabase; //导入方法依赖的package包/类
/**
* Handle onClick form menu buttons
*/
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle item selection
switch (item.getItemId()) {
// Sort by name
case R.id.search_clear_history:
MediaDatabase db = MediaDatabase.getInstance(this);
db.clearSearchhistory();
if (mHistoryAdapter == getListAdapter())
showSearchHistory();
}
return super.onOptionsItemSelected(item);
}
示例9: onListItemClick
import org.videolan.vlc.MediaDatabase; //导入方法依赖的package包/类
@Override
protected void onListItemClick(ListView l, View v, int position, long id) {
if (getListAdapter() == mHistoryAdapter) {
String selection = ((TextView) v.findViewById(android.R.id.text1)).getText().toString();
mSearchText.setText(selection);
mSearchText.setSelection(selection.length());
mSearchText.requestFocus();
} else if (getListAdapter() == mResultAdapter) {
// add search text to the database (history)
MediaDatabase db = MediaDatabase.getInstance(this);
db.addSearchhistoryItem(mSearchText.getText().toString());
// open media in the player
Media item = (Media) getListAdapter().getItem(position - 1);
if (item.getType() == Media.TYPE_VIDEO) {
VideoPlayerActivity.start(this, item.getLocation());
} else {
ArrayList<String> arr = new ArrayList<String>();
for (int i = 0; i < getListAdapter().getCount(); i++) {
Media audioItem = (Media) getListAdapter().getItem(i);
if (audioItem.getType() == Media.TYPE_AUDIO)
arr.add(audioItem.getLocation());
}
AudioServiceController.getInstance().load(arr, arr.indexOf(item.getLocation()));
finish();
return;
}
super.onListItemClick(l, v, position, id);
}
}
示例10: getView
import org.videolan.vlc.MediaDatabase; //导入方法依赖的package包/类
/**
* Display the view of a file browser item.
*/
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
View view = convertView;
if (view == null) {
LayoutInflater inflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.browser_item, parent, false);
holder = new ViewHolder();
holder.layout = view.findViewById(R.id.layout_item);
holder.check = (CheckBox) view.findViewById(R.id.browser_item_selected);
holder.text = (TextView) view.findViewById(R.id.browser_item_dir);
view.setTag(holder);
} else
holder = (ViewHolder) view.getTag();
final File item = getItem(position);
final MediaDatabase dbManager = MediaDatabase.getInstance();
if(item != null && item.getPath().equals(ADD_ITEM_PATH)) {
holder.text.setText(R.string.add_custom_path);
holder.check.setVisibility(View.GONE);
} else if(item != null && item.getName() != null) {
holder.text.setText(getVisibleName(item));
holder.check.setVisibility(View.VISIBLE);
holder.check.setOnCheckedChangeListener(null);
holder.check.setTag(item);
holder.check.setEnabled(true);
holder.check.setChecked(false);
List<File> dirs = dbManager.getMediaDirs();
for (File dir : dirs) {
if (dir.getPath().equals(item.getPath())) {
holder.check.setEnabled(true);
holder.check.setChecked(true);
break;
} else if (dir.getPath().startsWith(item.getPath()+"/")) {
Log.i(TAG, dir.getPath() + " startWith " + item.getPath());
holder.check.setEnabled(false);
holder.check.setChecked(true);
break;
}
}
holder.check.setOnCheckedChangeListener(onCheckedChangeListener);
}
return view;
}
示例11: load
import org.videolan.vlc.MediaDatabase; //导入方法依赖的package包/类
/**
* Loads a selection of files (a non-user-supplied collection of media)
* into the primary or "currently playing" playlist.
*
* @param mediaPathList A list of locations to load
* @param position The position to start playing at
* @param noVideo True to disable video, false otherwise
* @throws RemoteException
*/
@Override
public void load(List<String> mediaPathList, int position, boolean noVideo)
throws RemoteException {
Log.v(TAG, "Loading position " + ((Integer)position).toString() + " in " + mediaPathList.toString());
mEventHandler.addHandler(mVlcEventHandler);
mLibVLC.getMediaList().getEventHandler().removeHandler(mListEventHandler);
mLibVLC.setMediaList();
mLibVLC.getPrimaryMediaList().clear();
MediaList mediaList = mLibVLC.getMediaList();
mPrevious.clear();
MediaDatabase db = MediaDatabase.getInstance();
for (int i = 0; i < mediaPathList.size(); i++) {
String location = mediaPathList.get(i);
Media media = db.getMedia(location);
if(media == null) {
if(!validateLocation(location)) {
Log.w(TAG, "Invalid location " + location);
showToast(getResources().getString(R.string.invalid_location, location), Toast.LENGTH_SHORT);
continue;
}
Log.v(TAG, "Creating on-the-fly Media object for " + location);
media = new Media(mLibVLC, location);
}
mediaList.add(media, noVideo);
}
if (mLibVLC.getMediaList().size() == 0) {
Log.w(TAG, "Warning: empty media list, nothing to play !");
return;
}
if (mLibVLC.getMediaList().size() > position && position >= 0) {
mCurrentIndex = position;
} else {
Log.w(TAG, "Warning: positon " + position + " out of bounds");
mCurrentIndex = 0;
}
// Add handler after loading the list
mLibVLC.getMediaList().getEventHandler().addHandler(mListEventHandler);
mLibVLC.playIndex(mCurrentIndex);
mHandler.sendEmptyMessage(SHOW_PROGRESS);
setUpRemoteControlClient();
showNotification();
updateWidget(AudioService.this);
updateRemoteControlClientMetadata();
AudioService.this.saveMediaList();
AudioService.this.saveCurrentMedia();
determinePrevAndNextIndices();
}
示例12: getView
import org.videolan.vlc.MediaDatabase; //导入方法依赖的package包/类
/**
* Display the view of a file browser item.
*/
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
View view = convertView;
if (view == null) {
LayoutInflater inflater = (LayoutInflater) this.getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.browser_item, parent, false);
holder = new ViewHolder();
holder.layout = view.findViewById(R.id.layout_item);
holder.check = (CheckBox) view.findViewById(R.id.browser_item_selected);
holder.text = (TextView) view.findViewById(R.id.browser_item_dir);
view.setTag(holder);
} else
holder = (ViewHolder) view.getTag();
final File item = getItem(position);
final MediaDatabase dbManager = MediaDatabase.getInstance(view.getContext());
if(item != null && item.getPath().equals(ADD_ITEM_PATH)) {
holder.text.setText(R.string.add_custom_path);
holder.check.setVisibility(View.GONE);
} else if(item != null && item.getName() != null) {
holder.text.setText(getVisibleName(item));
holder.check.setVisibility(View.VISIBLE);
holder.check.setOnCheckedChangeListener(null);
holder.check.setTag(item);
holder.check.setEnabled(true);
holder.check.setChecked(false);
List<File> dirs = dbManager.getMediaDirs();
for (File dir : dirs) {
if (dir.getPath().equals(item.getPath())) {
holder.check.setEnabled(true);
holder.check.setChecked(true);
break;
} else if (dir.getPath().startsWith(item.getPath()+"/")) {
Log.i(TAG, dir.getPath() + " startWith " + item.getPath());
holder.check.setEnabled(false);
holder.check.setChecked(true);
break;
}
}
holder.check.setOnCheckedChangeListener(onCheckedChangeListener);
}
return view;
}