Это не файл, а стандарт HTML5, который работает в браузерах. В предоставленной вами ссылке язык навигации находится в теге script. Если вы поместите метод navigator.geolocation в функцию getUserLoc()
, которая выполняет чуть больше, чем setState с координатами при щелчке, вы сможете обновить положение карты, установив состояние. Вы установили бы начальное состояние в конструкторе LandingPage, а затем передали функцию `getUserLoc () вашему компоненту NavBar, где ее можно запустить с помощью this.props.getUserLoc ().
const mapStyles = {
width: '100%',
height: '100%'
};
export class LandingPage extends Component {
constructor(props) {
super(props)
this.state={
lat: 28.871812,
lng: -34.814106
}
this.getUserLoc = this.getUserLoc.bind(this)
}
getUserLoc() {
if (navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var pos = {
lat: position.coords.latitude,
lng: position.coords.longitude
};
this.setState({
userLat: pos.lat,
userLng: pos.lng
})
});
} else {
// Browser doesn't support Geolocation
handleLocationError(false, infoWindow, map.getCenter());
}
}
render() {
return(
<div>
<Map
google={this.props.google}
zoom={3}
style={mapStyles}
initialCenter={{
lat: this.state.userLat,
lng: this.state.userLng
}}
>
</Map>
<NavBar getUserLoc={this.getUserLoc}/>
</div>
)
}
}
Можно сделать некоторое (основное) аудио получение с помощью NAudio с открытым исходным кодом Библиотека Аудио.NET. Взгляните на проект NAudioDemo видеть простой пример записи в файл WAV с помощью функций WaveIn. NAudio также теперь включает способность записать аудио с помощью WASAPI (Windows Vista и выше) и ASIO (если звуковая карта имеет драйвер ASIO).
Существует библиотека Alvas Audio также, не свободна, имеет ворчащий экран, если Вы не платите, но работает красиво. И документация хороша и, если Вы находите ошибку, или что-то, поддержка прекрасна также.
Нет никаких встроенных библиотек в платформе.NET для контакта со звуком, но если Вы находитесь на Win32, можно пользоваться неуправляемой библиотекой как DirectSound, чтобы сделать это.
Ianier Munoz показывает, как записать полнодуплексный аудиоплеер в C# с помощью waveIn через P/Invoke на CodeProject. Он упоминает Управляемый DirectSound как более общий метод.
Управляемый DirectX поддерживает прямое получение аудио и очень прост в использовании, но больше не поддерживается и был удален из SDK DirectX в прошлом году. Все еще возможно получить его путем установки версии SDK до августа 2007.
Не строго отвечая Вашим требованиям, более устойчивый подход должен был бы создать C++ / блок обертки CLI вокруг собственного C++ DirectSound API, снова от SDK DirectX. Это можно было затем назвать непосредственно из кода C#. Это - определенно более мощный и удобный в сопровождении подход, несмотря на требование некоторого знания C++ и COM.
Я использовал оба из этих методов в прошлом и них обоих работа хорошо.