Используйте события onTouch или поместите кликабельный FrameLayout поверх EditText, чтобы отловить события клика. Сделайте так, чтобы видимость FrameLayout исчезла, когда вы хотите, чтобы ваш текст редактирования был редактируемым
В центре разработки Microsoft существует API, но он будет только работать при встраивании Windows Media Player, использующего активный-x.
Для "узнавания" больше о API проверьте MSDN: http://msdn.microsoft.com/en-us/library/dd564034 (По сравнению с 85) .aspx
API требует собственного компонента возможности соединения ActiveX Internet Explorer или может использовать плагин для Firefox.
Вот демонстрационная страница, которая могла бы запустить Вас.
<html>
<head>
<title>so-wmp</title>
<script>
onload=function() {
player = document.getElementById("wmp");
player.URL = "test.mp3";
};
function add(text) {
document.body
.appendChild(document.createElement("div"))
.appendChild(document.createTextNode(text));
};
function handler(type) {
var a = arguments;
add(type +" = "+ PlayStates[a[1]]);
};
// http://msdn.microsoft.com/en-us/library/bb249361(VS.85).aspx
var PlayStates = {
0: "Undefined", // Windows Media Player is in an undefined state.
1: "Stopped", // Playback of the current media item is stopped.
2: "Paused", // Playback of the current media item is paused. When a media item is paused, resuming playback begins from the same location.
3: "Playing", // The current media item is playing.
4: "ScanForward", // The current media item is fast forwarding.
5: "ScanReverse", // The current media item is fast rewinding.
6: "Buffering", // The current media item is getting additional data from the server.
7: "Waiting", // Connection is established, but the server is not sending data. Waiting for session to begin.
8: "MediaEnded", // Media item has completed playback.
9: "Transitioning", // Preparing new media item.
10: "Ready", // Ready to begin playing.
11: "Reconnecting" // Reconnecting to stream.
};
</script>
<script for="wmp" event="PlayStateChange(newState)">
// http://msdn.microsoft.com/en-us/library/bb249362(VS.85).aspx
handler.call(this, "playstatechange", newState);
</script>
</head>
<body>
<div id="page">
<object id="wmp"
classid="clsid:6BF52A52-394A-11d3-B153-00C04F79FAA6"
type="application/x-oleobject">
</object>
</div>
</body>
</html>
Windows Media Player выставляется как элемент управления ActiveX, к которому любой язык сценариев, работающий в хосте сценария окон, должен смочь получить доступ. Необходимо смочь использовать jscript для управления им. Jscript является microsofts реализацией сценария Java. Для получения информации о том, какие объекты и методы являются availble, использующим jscript для Windows Media Player se эта ссылка.
Нет никакой открытой библиотеки JavaScript насколько я знаю для crossbrowser клиентской обработки плеера WMP. Однако эта ссылка должна сделать довольно легким для Вас запустить Вашу собственную небольшую библиотеку. Коду, возможно, понадобились бы некоторое обновление и тестирование в современных версиях браузера, но у Вас есть основы там.
Библиотека Ваш поиск был бы прекрасной идеей для проекта Google Code, я предполагаю, что, в то время как все сегодня используют Adobe Flash с sIFR / swfobject или Microsoft Silverligt с сестрой и т.д., нет большого интереса записать клиентское управление сценария для WMP.